我這邊Electron是須要多平臺發佈的,因此須要多端的持續集成,我這邊演示Mac和Windows下這倆平臺。vue
持續集成vue項目請參考上一篇文章 http://www.javashuo.com/article/p-bcjuzymi-cn.htmlnode
編譯的包很大,會出現too large 的錯誤,由於默認是100Mb,build文件裏面東西不少,也很大,因此設置的大一點git
須要管理員登陸並設置maximumnpm
腳本和上一篇的差很少,只是多了build目錄json
# 構建階段 stages: - install_deps # - test - build # - deploy_test # - deploy_production # 緩存(默認狀況下,每一個pipelines和jobs中能夠共享一切,從GitLab 9.0開始) cache: # key: ${CI_BUILD_REF_NAME} # windows下??? # key: "%CI_COMMIT_REF_SLUG%" # key: ${CI_BUILD_STAGE} # 緩存每一個分支 # key: "$CI_COMMIT_REF_NAME" paths: # 緩存node_mudules將大大提升ci運行的速度 - node_modules/ - dist/ - build/ # 構建工做-安裝依賴 job_install_deps: stage: install_deps # 匹配使用哪一個tag的runner(註冊時填寫的) tags: - specific_electron_win only: - develop - master script: - npm install # 構建工做-運行測試用例 #job_test: # stage: test # only: # - develop # - master # script: # - npm run test # 構建工做-編譯 job_build: stage: build # 匹配使用哪一個tag的runner tags: - specific_electron_win # 全部操做只在以下分支上進行 only: - dev - master # 階段運行的腳本 script: # 你本身的package.json中scripts中的腳本 - npm run build # 工件,能夠緩存在gitlab的流水線記錄中,供直接下載 artifacts: # 使用當前stage和分支名稱做爲存檔名稱 # name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}" name: "%CI_JOB_STAGE%_%CI_COMMIT_REF_NAME%" # 工件緩存的有效時間 expire_in: 3 days # 路徑 paths: # 工件指向的目錄,這裏指整個dist目錄 - dist - build # 構建工做-部署測試服務器 #job_deploy_test: # stage: deploy_test # only: # - develop # script: # - pm2 delete app || true # - pm2 start app.js --name app # 構建工做-部署生產服務器 #job_deploy_production: # stage: deploy_production # only: # - master # script: # - bash scripts/deploy/deploy.sh
...windows