CI/CD 是什么这里就不多介绍了。下面是我个人使用 GItHub + Travis 集成的 CI/CD 过程总结。
开发语言:golang
开发环境:Ubuntu 18.04
1. 安装 GitHub CI 平台插件。
github 支持很多的CI应用可以跳到 这里进行选择 我这里选择的是 Travis CI
点击 Travis CI 选择 下面的 Open Source
(提供免费版),并点击 Install it for free
。 如下图:
2. 选择 github repositories
接着根据页面的步骤接着执行安装插件操作即可。最后在GitHub的 settings->Applications 中找到 Travis CI 并添加你的项目到 Travis CI 中。
注意:上面步骤中会需要登录 Travis CI ,选择 github 账号登录即可。
3. 编写基本Travis CI 集成文件
进入 Travis CI 平台, 如果需要登录,寻找右上角的 Sign in with github 。进入 Travis 中的 Documentation 查看有关 Travis CI 的使用文档。
集成文档分为下面几个步骤: travis.yml
文件是由这些步骤组合起来的。
- OPTIONAL Install
apt addons
- OPTIONAL Install
- OPTIONAL Install
cache components
- OPTIONAL Install
before_install
install
before_script
script
- OPTIONAL
before_cache
(for cleaning up cache)
- OPTIONAL
-
after_success
orafter_failure
-
- OPTIONAL
before_deploy
- OPTIONAL
- OPTIONAL
deploy
- OPTIONAL
- OPTIONAL
after_deploy
- OPTIONAL
after_script
我的项目中用到如下步骤:具体 yml
中用到指令查找 https://docs.travis-ci.com/user/job-lifecycle/
- 1、在github项目中加入
.travis.yml
文件。 - 2、在文件中指定
language
。 - 3、指定
golang
的编译版本。 - 4、编写
before_install
指令。 - 5、编写 script
- 6、编写 deploy
最后编写出来的 .travis.yml
文件如下:
language: go
go:
- 1.12.x
before_install:
- mv ../$(basename $(pwd)) $GOPATH/src
- go get -v github.com/json-iterator/go
install: true
script:
- make test
- make build
- make docker-read
before_deploy:
- tar -zcf docker_build.tar.gz docker_build
deploy:
provider: releases
api_key: $GITHUB_TOKEN
file_glob: true
file:
- bin/*
- docker_build.tar.gz
skip_cleanup: true
on:
tags: true
注意:deploy 中的 $GITHUB_TOKEN 是在 Travis CI 平台中设置的环境变量。
当github 有 commit 的时候会触发 deploay 之前的命令,如果在 github 中进行 release 操作就会 触发 deploy 操作,并且会把编译好的 binary 文件上传到 github release 中,下面这张图中的文件就是 travis 上传过来的。
有疑问加站长微信联系(非本文作者)