[{"data":1,"prerenderedAt":149},["ShallowReactive",2],{"$f35oJMNvYxaous-dq-T_inxi1gZgqNwvzu7XHb-bcbEU":3,"$f9vz-K0HZJ_90i02-9DRqh1rWntqxGDI33DmQO8Oe3uQ":87},{"flag":4,"code":5,"message":6,"data":7},true,20000,"操作成功",{"articleCount":8,"categoryCount":9,"tagCount":10,"viewsCount":11,"websiteConfig":12,"pageList":32},23,14,36,"2265",{"websiteAvatar":13,"websiteName":14,"websiteAuthor":15,"websiteIntro":16,"websiteNotice":17,"websiteCreateTime":18,"websiteRecordNo":19,"socialLoginList":20,"socialUrlList":22,"qq":24,"github":25,"gitee":17,"touristAvatar":26,"userAvatar":26,"isCommentReview":27,"isMessageReview":27,"isEmailNotice":28,"isReward":28,"weiXinQRCode":29,"alipayQRCode":30,"isChatRoom":27,"websocketUrl":31,"isMusicPlayer":27},"http://static.gaoyuan.site/config/e46ea2645f3dd9675fd5189b0a45eba7.png","AseaBlog","Asea","远离世界这个巨大的求偶派对","","2021-03-17","豫ICP备2022022909号",[21],"qq",[21,23],"github","569389750","https://github.com/AAAAsea","https://static.gaoyuan.site/config/8c4f6216475f61d53530b5176f81aaac.svg",0,1,"http://static.gaoyuan.site/config/1823a52c81a8505abd7294c938cdf883.png","http://static.gaoyuan.site/config/e9abb2f6dfffa28a182b2075d0f39f10.png","wss://ws.gaoyuan.site",[33,37,42,47,52,57,62,67,72,77,82],{"pageCover":34,"id":28,"pageName":35,"pageLabel":36},"https://static.gaoyuan.site/config/a85b70bea8c133b472c1685a8bdf25ab.jpg","首页","home",{"pageCover":38,"id":39,"pageName":40,"pageLabel":41},"https://static.gaoyuan.site/config/e260a3325afb7db4e1f952daacbae20b.jpg",2,"归档","archive",{"pageCover":43,"id":44,"pageName":45,"pageLabel":46},"https://static.gaoyuan.site/config/e569b56363399be08d1af02e42f6e093.jpg",3,"分类","category",{"pageCover":48,"id":49,"pageName":50,"pageLabel":51},"https://static.gaoyuan.site/config/a2fa96c7647cc9bf7f7a664ce2e2e9c7.jpg",4,"标签","tag",{"pageCover":53,"id":54,"pageName":55,"pageLabel":56},"https://static.gaoyuan.site/config/95b34f6757f1d7a0200de560914e91c5.jpg",5,"相册","album",{"pageCover":58,"id":59,"pageName":60,"pageLabel":61},"https://static.gaoyuan.site/config/992efd73eb0fc15fe0482f814ed30d44.jpg",6,"友链","link",{"pageCover":63,"id":64,"pageName":65,"pageLabel":66},"https://static.gaoyuan.site/config/f18979a0cc4dc1003d57a3fa448f01fb.jpg",7,"关于","about",{"pageCover":68,"id":69,"pageName":70,"pageLabel":71},"https://static.gaoyuan.site/config/28e56705f217056a9014da8fb38807b2.png",8,"留言","message",{"pageCover":73,"id":74,"pageName":75,"pageLabel":76},"https://static.gaoyuan.site/config/8fa30e6fc9f8377d80972c481000d562.jpg",9,"个人中心","user",{"pageCover":78,"id":79,"pageName":80,"pageLabel":81},"https://static.gaoyuan.site/config/f9299debbc0ea7c27021c0f7fec26d57.jpg",10,"文章列表","articleList",{"pageCover":83,"id":84,"pageName":85,"pageLabel":86},"https://static.gaoyuan.site/config/7a15cde107e6da90421702e183068048.jpg",904,"说说","talk",{"flag":4,"code":5,"message":6,"data":88},{"id":89,"articleCover":90,"articleTitle":91,"articleContent":92,"likeCount":93,"viewsCount":94,"type":28,"originalUrl":17,"createTime":95,"updateTime":96,"categoryId":97,"categoryName":98,"tagDTOList":99,"lastArticle":109,"nextArticle":113,"recommendArticleList":117,"newestArticleList":123},81,"https://static.gaoyuan.site/articles/54af1c616029ae53c7f48c5030817658.png","GitHub Actions 自动构建Electron多平台应用","> Electron在windows平台下只能构建windows的应用，而对于mac和linux却束手无策，在寻找解决办法的时候关注到了GitHub的Action，每月提供一定量的upload空间以及使用时长，因此只需要编写好workflow就可以实现多平台自动构建并发布到release。最近几天一直才尝试，遇到各种bug，每个账号每个月的用量是有限的，因此注册了三个账号，反复验证，最后敲定了一套还算说得过去的流程，记录如下\n\n## 添加workflow文件\n1. 在根目录下新建.github/workflows文件夹\n2. 在workflows文件夹下新建.yml文件，如`main.yml`\n3. 在此给出我的代码\n```yml\nname: create-release\n\non:\n  push:\n    tags: \n      - 'v*.*.*'\n      \npermissions:\n  contents: write\n\njobs:\n  test-build:\n\n    # job's name\n    name: create-release\n\n    # the type of machine to run the job on\n    runs-on: ${{ matrix.os }}\n\n    # create a build matrix for jobs\n    strategy:\n      fail-fast: false\n      matrix:\n        os: [windows-latest, macos-latest]\n        \n    \n    steps:\n      # step1: check out repository\n      - name: Check out git repository\n        uses: actions/checkout@v3\n\n      # step2: install node env\n      - name: Install Node.js\n        uses: actions/setup-node@v2-beta\n\n      # step3: npm install\n      - name: npm install\n        run: |\n          npm install\n\n      # step4: rebuild\n      - name: rebuild\n        run: |\n          npm run electron:rebuild\n      \n      # step5: npm run build\n      - name: build\n        run: |\n          npm run build\n\n      # step6: build app for mac/win\n      - name: build windows app\n        if: matrix.os == 'windows-latest'\n        run: |\n          npm run electron:build --win\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n      \n      - name: build mac app\n        if: matrix.os == 'macos-latest'\n        run: |\n          npm run electron:build --mac\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n\n      # step7: upload artifacts\n      - name: upload artifacts\n        uses: actions/upload-artifact@v3\n        with:\n          name: ${{ matrix.os }}\n          path: |\n            release/*latest*.yml\n            release/*.exe\n            release/*.dmg\n            release/*.blockmap\n\n      # step8: create release\n      - name: release\n        uses: softprops/action-gh-release@v1\n        if: startsWith(github.ref, 'refs/tags/')\n        with:\n          files: |\n            release/*latest*.yml\n            release/*.exe\n            release/*.dmg\n            release/*.blockmap\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n```\n## 自动构建\n在本地执行\n```bash\ngit tab v0.0.1\ngit push origin --tags\n```\n就会触发workflow，从而开始任务，在任务的执行过程中可能会遇到很多错误，大多数根据log都能解决，在此记录一些奇怪的问题\n### 1. npm install 依赖报错\n在项目里有一些依赖版本不太正确，可以使用 `npm install --force` 来避免，或自行更正版本\n### 2. robotJs安装报错\n暂时不知道问题出在哪里，因为不能稳定复现\n### 3. 上传文件的路径匹配问题，最后只好选择的代码的方法\n### 4. 空间用完\n免费的每月貌似只有500M，所以我只好重新注册账号\n### 5. release创建失败\n貌似是因为我在新账号里面添加主账号为合作人员，提交的时候都是用主账号提交的，所以release创建的时候出现了权限问题，最后解决办法就是添加了`permissions`。\n### 6. release上传文件过多导致错误\n做好路径匹配\n",null,28,"2023-03-15T22:19:35","2023-03-15T22:28:55",202,"开发",[100,103,106],{"id":101,"tagName":102},47,"Electron",{"id":104,"tagName":105},52,"GitHub",{"id":107,"tagName":108},53,"Actions",{"id":110,"articleCover":111,"articleTitle":112},79,"https://static.gaoyuan.site/articles/feb3e5f57f114dea2a3cb0a54262bb03.png","服务器迁移记录",{"id":114,"articleCover":115,"articleTitle":116},82,"https://static.gaoyuan.site/articles/effe32c9873813419e58a1ec5dc2497d.png","由GPT-4想到的",[118],{"id":119,"articleCover":120,"articleTitle":121,"createTime":122},78,"https://static.gaoyuan.site/articles/6d71d8aed9146caeb613ee7165344996.jpg","BUGS记录","2023-01-30T10:44:03",[124,129,134,139,144],{"id":125,"articleCover":126,"articleTitle":127,"createTime":128},97,"https://static.gaoyuan.site/articles/4c75f2fc58fc62705384d2ea5c7541e2.jpg","青甘遗梦","2025-05-12T09:39:04",{"id":130,"articleCover":131,"articleTitle":132,"createTime":133},96,"https://static.gaoyuan.site/articles/71622894786ad69c24e6ea642d05a275.jpg","我的阿勒泰","2025-01-11T00:05:58",{"id":135,"articleCover":136,"articleTitle":137,"createTime":138},95,"https://static.gaoyuan.site/articles/8311a8f3a94aab354101e80f4132e12e.png","记忆贩卖店","2024-10-20T17:59:23",{"id":140,"articleCover":141,"articleTitle":142,"createTime":143},94,"https://static.gaoyuan.site/articles/de098d9194c59e1cecf75c84e0585648.jpg","我的阿尔山","2024-10-05T14:04:31",{"id":145,"articleCover":146,"articleTitle":147,"createTime":148},93,"https://static.gaoyuan.site/articles/dd97d39aaef628a7c74d96879c88ebf6.jpg","我的拉班·扫马","2024-07-04T23:36:50",1782639793497]