ONFUNS 学习&生活随笔

使用Travis、Appveyor持续集成Github项目

以项目 fimge 为例

使用 Travis 集成Mac、Linux项目

Travis官网关联项目 travis官网

项目根目录新建.travis.yml文件

写入以下内容

language: node_js
node_js:
    - '8'
script:
    - npm run build:dmg
deploy:
  provider: releases
  api_key: 
      secure:'xxx'
  file:
    - ./package/fimage.dmg
  skip_cleanup: true
  overwrite: true
  on:
    tags: true
  • language:语言
  • node_js:版本号
  • script:脚本命令,默认是npm test
  • deploy:发布命令,此处以发布文件到github releases为例
    • provider:发布方式
    • api_key:github token,为防止泄密,需要Travis加密token
    • file:需要发布的文件
    • skip_cleanup:默认为true,否则打包完毕会删除目录就找不到需要发布的文件了
    • overwrite:是否需要覆盖
    • on:条件限制,每次推送tags时触发构建

Travis加密api_key

安装 travis

gem install travis

如果被墙则修改源

gem sources --add http://gems.ruby-china.com/ --remove https://rubygems.org/

登录 travis

travis login

如果提示no implicit conversion of nil into String,则需要神级ruby,参考以下升级Ruby

加密

travis encrypt "aaaaa" --add deploy.api_key

升级Ruby

检测是否安装 rvm

rvm -v

如提示rvm: command not found,则安装

curl -L get.rvm.io | bash -s stable

//生效命令
source ~/.bashrc
source ~/.bash_profile

安装Ruby

rvm list known //查看可以版本
rvm install 2.6.0  //安装

使用Appveyor 集成windows项目

Appveyor官网关联项目 Appveyor官网

设置GIthub Token,项目 》Setting 》Environment 》Environment variables

添加配置文件 appveyor.yml

platform:
  - x64
install:
  - npm install
build_script :
  - npm run build:win
environment:
  nodejs_version: "10"
artifacts :
    - path: package\fimage-win32-ia32
    - path: package\fimage-win32-x64
deploy:
  provider: GitHub
  auth_token:
    secure:xxx
  on:
    branch: master
    APPVEYOR_REPO_TAG: true

具体字段信息可参考官网文档或配置demo

deploy中auth_token : secure 字段值是二次加密后的Github Token加密地址