GitHub 的 CI/CD与 Travis 配置小记

  1. 云栖社区>
  2. 博客列表>
  3. 正文

GitHub 的 CI/CD与 Travis 配置小记

上官瑾文 2018-12-07 09:51:48 浏览169 评论0

摘要: GitHub 的 CI/CD与 Travis 配置小记

问题

在GitHub上协作开发,写测试用例那是必须的,至于执行测试用例,
GitHub 的 MarketPlace 上有很多工具可以配合使用;使用 Travis 等工具我们可以很轻松的实现CI/CD(持续集成、持续部署);我们的问题是该怎么做呢?

了解Travis

Travis CI 提供的是持续集成服务(Continuous Integration,简称 CI)。它绑定 GitHub 上面的项目,只要有新的代码,就会自动抓取。然后,提供一个运行环境,执行测试,完成构建,还能部署到服务器。

持续集成指的是只要代码有变更,就自动运行构建和测试,反馈运行结果。确保符合预期以后,再将新代码"集成"到主干。

持续集成的好处在于,每次代码的小幅变更,就能看到运行结果,从而不断累积小的变更,而不是在开发周期结束时,一下子合并一大块代码。

Travis 作为 GitHub MarketPalce 上的一个产品,目前只支持 GitHub 仓库,私有和共有库都可以使用, 只是用私有库的时候需要在环境遍历中配置一个 Token, 这个Token 设置可以和下面设置 GitHub Token 、GIT_NAME 等一样。

作为要 CI/CD 的库,库里面需要包含用于 CI/CD 的命令

Travis 可以执行多种语言的测试及构建。详情请点击这里

生命周期

  1. OPTIONAL Install apt addons
  2. OPTIONAL Install cache components
  3. before_install
  4. install
  5. before_script
  6. script
    7.OPTIONAL before_cache (for cleaning up cache)
  7. after_success or after_failure
  8. OPTIONAL before_deploy
  9. OPTIONAL deploy
  10. OPTIONAL after_deploy
  11. after_script

在构建时,生命周期可以组合使用。

配置.travis.yml

在项目根目录简历 .travis.yml 文件。配置如下

该文件名前有一英文点


language: node_js

node_js:
  - "10"

branches:
  only:
    - dev

install:
  - npm install -g yarn
  - npm install -g codecov
  - yarn

script:
  - yarn testCoverage

after_success:
  - codecov
  - yarn build

env:
 global:
   - GH_REF: github.com/beef-noodles/PlatformWeb.git

after_script:
  - cd ./build
  - git init
  - git config user.name "${GIT_NAME}"
  - git config user.email "${GIT_EMAIL}"
  - git add .
  - git commit -m "Update docs"
  - git push --force --quiet "https://${GITHUB_TOkEN}@${GH_REF}" master:master

将你的项目添加进Travis

进入Travis官网并用 GitHub 登录,在左侧选择加入仓库,

image

打开要CI/CD的库的选项按钮,点击settings, 进入设置,导航到环境变量中,输入要用到的环境变量,即可添加到环境变量列表

image

注意,一般情况下,环境变量都不显示,即 Display value in build log 这一项默认。

效果

在上面一切完成之后,在本地进行代码修改并提交,GitHub 会自动通知 Travis 进行自动化构建。如上完成代码自动化测试(CI),和自动化部署(CD)

构建日志太长,截一部分重要的吧。

注意里面的环境变量已经变成了[secure]

image

今天没总结

【云栖快讯】阿里云栖开发者沙龙(Java技术专场)火热来袭!快来报名参与吧!  详情请点击

网友评论