明非

在 Docker 上运行本地版的 TravisCI – Google Developers – Medium

明非 · 2017-04-26翻译 · 703阅读 原文链接

不想让 Github 私有仓库代码被线上版 Travis 服务获取?面对构建异常抓狂却没有日志可偱?把他跑在本地吧!(Interested in TravisCI configuration?)

  1. 安装 Docker

  2. 在 Docker 上安装 Travis

# 根据你项目中.travis.yml的开发语言的配置来安装与之对应的travis镜像。
$ docker run -it -u travis quay.io/travisci/travis-jvm /bin/bash
# 现在你已经在你的 docker 镜像里了,切换到 travis 用户
sudo — travis
# 安装最新版的 ruby (默认是 1.9.3)
rvm install 2.3.0
rvm use 2.3.0
# 安装 travis-build 来生成 .travis.yml 的.sh文件
cd builds
git clone https://github.com/travis-ci/travis-build.git
cd travis-build
gem install travis
travis # 创建 ~/.travis
ln -s pwd ~/.travis/travis-build
bundle install
# 为 Github 创建 ssh Key
ssh-keygen -t rsa -b 4096 -C “YOUR EMAIL REGISTERED IN GITHUB”
# 点击回车将文件存到默认位置
# 点击两次回车设置空密码
# 好了,我们生成了 ssh key 现在可以分享到 github 了
less ~/.ssh/id_rsa.pub
# 复制 id_rsa.pub 里的内容

3. 打开 Github SSH key settings

4. 创建一个名字为 “docker key” 的 ssh key,并且将 ~/.ssh/id_rsa.pub 的内容粘贴到内容处。

5. 返回 docker 命令行。

# 创建项目目录,将你的项目 clone 到本地
cd ~/builds
mkdir AUTHOR
cd AUTHOR
git clone https://github.com/AUTHOR/PROJECT.git
cd PROJECT
# 切换到你想检测的分支
# 并将 travis 脚本编译成 bash 脚本
travis compile > ci.sh
# 打开 bash script 修改分支名字
vi ci.sh
# 在 vi 工具里输入 “/branch” 来查找到分支设置的位置,并且将其修改正确
# — branch\=\’\NEW_BRANCH’\
# 你有可能需要编辑ci.sh来忽略 “matrix” 和 “env” 关键词
bash ci.sh

恭喜,你已经在本地跑起了 TravisCI。

相关文章