Gitlab 持續集成/部署3——持續集成Electron項目

我這邊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

相關文章
相關標籤/搜索