Travis CI 持续集成工具 教程
文章目录
- 本文将介绍如何使用 Travis CI 。用好这个工具不仅可以提高效率,还能使开发流程更可靠和专业化,从而提高软件的价值。
一、什么是 Travis CI
Travis CI 官网
(这是 github 公开项目免费版,如果想部署在私有项目可以选择 付费版)
- Travis-CI 是一个开源的持续构建项目,能够测试和部署;
- Travis-CI 会同步你在 GitHub 上托管的项目,每当你 Commit Push 之后,就会在几分钟内开始按照你的要求测试部署你的项目
- 持续集成指的是,只要代码有变更,就自动运行构建和测试,反馈运行结果。确保符合预期以后,再将新代码"集成"到主干。
- 这样每次代码的小幅变更,就能看到运行结果,而不是在开发周期结束时,一次性合并一大块代码。
二、使用 Travis CI
- 可以利用 travis 在 github 上部署自动化的持续集成服务
下面笔者将以自己做过的 简单 web 开发前后端服务项目 作为例子介绍使用 Travis CI 需要做哪些准备
1. 注册登录 Travis,绑定 github
- 开发者需要满足以下条件,才能使用 Travis CI
- 拥有 GitHub 帐号
- 该帐号下面有一个项目
- 该项目里面有可运行的代码
- 该项目还包含构建或测试脚本
-
travis 可以绑定 Github 上面的项目,具体的流程如下:
-
利用 github 账户登录到 travis,确认接受访问 GitHub 的权限
-
打开个人页面并给你想要配置环境的项目启用 Travis-CI
-
这样 Travis-CI 就会监听这个仓库的所有变化自动构建,完成预定的操作。
2. 使用 .travis.yml
① 什么是 .travis.yml
- .travis.yml 相当于一个配置脚本,这个文件采用 YAML 格式。Travis-CI 会按照 .travis.yml 里的内容进行构建
- 以下是它的一些基本语法
language: # 声明构建语言环境
notifications: # 每次构建的时候是否通知
email: false
sudo: false # sudo 权限
go:
- "1.15.2" # 语言配置信息
before_install: # install 之前
script: # 执行:下面的命令
before_deploy: # 部署之前
deploy: # 部署
provider: releases # 部署到 GitHub Release
api_key: # 填写 GitHub 的 token
file: # 部署文件路径
skip_cleanup: true # 设置为 true 以跳过清理
on: # 发布时机
tags: true # tags 设置为 true 表示只有在有 tag 的情况下才部署
- 完整的生命周期,从开始到结束是下面的流程。
1. before_install
2. install
3. before_script
4. script
5. after_success or after_failure
6. [OPTIONAL] before_deploy
7. [OPTIONAL] deploy
8. [OPTIONAL] after_deploy
9. after_script
② 编写 .travis.yml
- 在项目根目录下添加 .travis.yml 文件,根据相关的指引完成内容的填充,内容如下
language: go
go:
- "1.15.2"
install:
- go get -v github.com/chuhongwei/BlogServer
script:
- go build main.go
- 以上代码安装了服务端程序并且 build 服务端来检查代码的正确性。
③ .travis.yml 运行流程
- 流程包括两个阶段
install 阶段:安装依赖(如果不需要安装,即跳过安装阶段,就直接设为 true)
script 阶段:运行脚本
- 某些语言环境有默认脚本,比如 Node
install默认值:npm install
script默认值:npm test
- 最后把 .travis.yml push 到你的 GitHub 上以触发 Travis-CI 进行构建
④ 一个 HelloWorld 级别的 .travis.yml 编写使用
- 把这以下文件提交到 GitHub,就可以触发自动构建了。打开 https://travis-ci.com/ 就能看到构建完成了.
三、Travis CI 使用技巧
1. 关于如何查看构建状态
- 将代码 push 到 github 上时就会自动进行检测了,检测结果会在之前的网站上相关页面显示
- 检测结果
- 出现以下图片显示这个项目已经构建成功
- 构建状态页面如下
- 可以查看构建历史和工作日志
2. 关于如何在自己的项目中显示 Status Image
- 如果想在GitHub的项目首页显示一个高大上的 build:passing 标志
- 可以在根目录的 README.md 中加上一个图片链接
3. 关于不想自动构建时如何跳过
- 跳过自动构建,只需在 commit message 里加上 [ci skip]
git commit -m "[ci skip] commit message"
4. 设置环境变量
- 有些环境变量不能公开,这时可以通过 Travis 网站,写在每个仓库的设置页里面,Travis 会自动把它们加入环境变量。脚本内部就可以使用这些环境变量