Gitlab 持续集成/部署3——持续集成Electron项目

我这边Electron是需要多平台发布的,所以需要多端的持续集成,我这边演示Mac和Windows下这俩平台。

持续集成vue项目请参考上一篇文章 https://my.oschina.net/u/3667677/blog/3051522

编译的包很大,会出现too large 的错误,因为默认是100Mb,build文件里面东西很多,也很大,所以设置的大一点

需要管理员登录并设置maximum

Gitlab 持续集成/部署3——持续集成Electron项目_第1张图片

脚本和上一篇的差不多,只是多了build目录

# 构建阶段
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

持续部署

...

转载于:https://my.oschina.net/u/3667677/blog/3051770

你可能感兴趣的:(运维,javascript,测试)