Travis CI 实践(1)

843 阅读2分钟

Travis CI

Travis CI 是在线托管的持续集成服务,能够抓取新的代码进行测试、构建、部署。

使用流程

1.注册travis ci 账号

进入官网:网站,选择github登录。点击头像,点击Activate按钮,进入Github,点击Approve & Install

2. 选择仓库

在仓库列表选择需要操作的仓库。

3.添加.travis.yml

在项目的根目录编写.travis.yml,用于告知travis-ci该怎么做。 介绍一下travis 的钩子配置:

before_install:install 阶段之前执行
before_script:script 阶段之前执行
after_failure:script 阶段失败时执行
after_success:script 阶段成功时执行
before_deploy:deploy 步骤之前执行
after_deploy:deploy 步骤之后执行
after_script:script 阶段之后执行

介绍一下travis 的完整生命周期配置:

before_install
install
before_script
script
aftersuccess or afterfailure
[OPTIONAL] before_deploy
[OPTIONAL] deploy
[OPTIONAL] after_deploy
after_script

介绍Travis的运行状态配置:

passed:运行成功,所有步骤的退出码都是 0
canceled:用户取消执行
errored:before_install、install、before_script 有非零退出码,运行会立即停止
failed :script 有非零状态码 ,会继续运行

如果是部署到GitHub,可以这样写:

 deploy:   
   provider: pages   
   skip_cleanup: true   
   github_token: $GITHUB_TOKEN 
   # Set in travis-ci.org dashboard   
   on:     
       branch: master

下面是一个较完整的配置:


sudo: false
language: node_js
node_js:
  - 12
cache: yarn
#指定构建分支
branches:
  only:
    - master
#安装依赖
install:
  - yarn install
script:
  - yarn build
#构建成功后,把部署所需的文件都拷贝到 dist 文件夹下
after_success:
  - mkdir dist
  - cp -r build/ dist/build
  - cp package.json dist
#把 dist 文件推送到 github DEPLOY-PROD 分支下
deploy:
  provider: pages
  skip_cleanup: true
  github_token: $GH_TOKEN
  keep_history: true
  target_branch: DEPLOY-PROD
  committer_from_gh: true
  on:
    branch: master
  local_dir: dist

4. 生成并配置token

首先生成token:new Token,,勾选repo,该token只会出现一次。 配置token:回到Travis CI,找到将要部署的项目,在setting中找到Environment Variables,新建环境变量,其中value就是上面的token,name是.travis.yml中配置的变量GH_TOKEN,BRANCH可以默认,点击灰色的Add按钮。

5. 自动化构建和部署

在github上有新代码提交后,Travis CI 会自动构建,你可以在Travis CI看见构建过程:

构建过程
但是构建失败了:

原来忘记在github中给予权限,更新token:

再尝试一波:

并且在仓库下多了一个DEPLOY-PROD分支。

未完待续

下一节讲如何远程拉取代码并启动服务