Spectrum持续集成项目打包(Travis-CI)

Travis-CI

what

Travis CI 是目前新兴的开源持续集成构建项目(Continuous Integration,简称 CI),它与jenkins,GO的很明显的特别在于采用yaml格式,简洁清新独树一帜。目前大多数的github项目都已经移入到Travis CI的构建队列中,据说Travis CI每天运行超过4000次完整构建。

why

团队协作开发中,构建、测试与部署往往会产生冲突,花费不必要的精力去解决这些问题。CI通过绑定 Github 上面的项目,只要有新的代码,就会自动抓取。然后,提供一个运行环境,执行测试,完成构建,还能部署到服务器。每次代码的小幅变更,就能看到运行结果,从而不断累积小的变更,而不是在开发周期结束时,一下子合并一大块代码。

who

Travis-CI仅支持GitHub的项目,对开源项目是免费,对私有项目是收费的

how

在Github上,可以添加Travis CI,当有code push时候,会推送通知到Travis,根据设置的脚本运行指定任务。

接下来以开源项目Spectrum为例,来一步步演示如何使用Travis-CI

Spectrum持续集成项目打包

step1

当然得先fork一下我们的主角啦Spectrum

step2

访问Travis-CI 官网,点击页面右上角的“Sign in with GitHub ”,输入github密码进行登录。然后会在首页的右侧看到自己的github仓库列表。如图:(我这么搜索只为了展示Spectrum)
90.jpg

step3

点击上图中Spectrum仓库右侧对应的开关。打开开关,Travis 会监听这个仓库的所有变化

step4

github首页,点击自己头像下的setting,选择左侧栏目最下面一项“Developer settings”,再点击左侧栏的“Personal access tokens”,然后点击页面右上角的“Generate new token”。1.填写Token description 2.选择repo打钩即可,如图
92.jpg

然后点击页面下方的 “Generate token”,页面会出现生成的token.只一次可见,一定要第一次保存下来。

step5

安装travis客户端。MAC端执行命令 gem install travis
然后执行命令 travis -v 验证安装成功。如图
93.png
然后执行命令 travis login。输入github的用户名和密码进行登录。如图
94.png
登录成功后,mac端执行命令
travis encrypt -r / GH_Token=<step4 中得到的token值>。执行完如图
95.png
得到加密后的secure值,进行保存(配置文件.travis.yml会用到)。

step6

回到Travis-CI,点击右侧的 More options下拉菜单的Settings,如图
96.jpg

找到环境变量 Environment Variables,name自定义设置,value为step4中的token值,然后点击Add按钮。如图
97.jpg

step7

接下来是重头戏.travis.yml文件,点击官方文档查询可查询更多.travis.yml配置标签(自我探索:可以取文档中查阅step5中生成secure值如何配置)

language: go
go:
- 1.10.x
after_script:
  - git clone https://${GH_REF} .deploy_git  # GH_REF是最下面配置的仓库地址
  - cd .deploy_git
  - git checkout master
  - cd ../
  - mv .deploy_git/.git/ ./public/   # 这一步之前的操作是为了保留master分支的提交记录,不然每次git init的话只有1条commit
  - cd ./public
  - git config user.name "wangbaojin"  #修改name
  - git config user.email "[email protected]"  #修改email
  - git add .
  - git commit -m "Travis CI Auto Builder at `date +"%Y-%m-%d %H:%M"`"  # 提交记录包含时间 
  - git push --force --quiet "https://${Travis_Token}@${GH_REF}" master:master  #Travis_Token是在Travis中配置环境变量的名称
branches:
  only:
    - master  #只监测master分支,master是我的分支的名称,可根据自己情况设置
env:
 global:
   - GH_REF: github.com/wangbaojin/Spectrum.git  
   - Travis_Token:for-Spectrum
notifications:
  email:
    - [email protected]
  on_success: change
  on_failure: always

将以上.travis.yml文件保存在/ 根目录下

step8

现在可以测试流程了
在本地代码中,加任意测试代码,然后执行
git add .
git commit -m ‘测试travis CI’
git push 如图
100.png

然后回到Travis-CI,如图,pass成功。
101.png

集成编译的网址:https://travis-ci.org/wangbaojin/Spectrum

获取更多资料,请参考文档:https://docs.travis-ci.com/user/languages/go/

猜你喜欢

转载自blog.csdn.net/wszxs1990/article/details/82810290
今日推荐