网站首页 > 技术教程 正文
什么是持续集成
持续集成(Continuous integration,简称CI)是指频繁地将代码集成到主干。
持续集成的好处可以帮助我们快速发现错误,集成到主干前需要经过自动测试,如果过程中出现错误,将无法完成此次集成,这是其一。
第二点好处是可以防止分支与主干的偏差过大,导致集成难度变大。假如在分支发开时,没有及时集成到主干,而主干又在不断更新,将会导致分支与主干的偏差过大,最终导致难以集成。
使用持续集成工具还能够替我们完成繁琐的工作,例如自动部署等。
持续集成的工具非常多,例如 Travis CI、Jenkins、Gitlab CI 等等。本文将简单介绍一下 Travis CI 的使用。
应用
Travis 是一款流行的 CI 工具,可免费用于开源项目。在托管时,不必依赖任何平台。Travis CI 工具为许多构建配置和语言提供支持。
前段时间写了个 Python 的项目,才开始了解到了 Travis CI。在项目的根目录添加了 .travis.yml 文件进行配置,当代码发生变动时,Travis CI 将会执行测试脚本,通过测试后将代码打包成 Docker 镜像并推送到官方仓库。
这两天我用 VuePress 搭建了一个新的博客站点 http://blog.fedevelop.cn,刚好利用 Travis CI 实现部署的工作,省下了宝贵的时间。
例子
下面我将自动部署博客的应用作为例子,带大家熟悉持续集成工具。
首先在我的 VuePress 项目里添加 .travis.yml 文件。我的内容只有简单 3 行,如下
# 指定语言 language: node # 安装依赖 install: npm install # 执行脚本 script: npm run deploy
deploy 命令是我在 package.json 中定义好的一个命令,内容如下
"script": { "dev": "xxx", "build": "xxx", "deploy": "bash deploy.sh" }
bash deploy.sh 意思是执行 deploy 这个 shell 脚本, deploy.sh 的内容如下
#!/usr/bin/env sh # 确保脚本抛出遇到的错误 set -e # 生成静态文件 npm run build # 进入生成静态文件的文件夹 cd blogs/.vuepress/dist git init git add . git commit -m "auto push" git remote add origin https://${token}@github.com/<your name>/<your name>.github.io.git git push -f --set-upstream origin master cd -
意思为先执行 npm run build 命令进行编译,如果报错的话,Travis 将不会进行下面的操作。如果编译没有报错的话,将会进入 blogs/.vuepress/dist 目录,将里面的内容推送到我的 GitHub Page 项目,完成部署工作。
其中 ${token} 将会获取 Travis 中设置的环境变量。涉及隐私的数据,我们可以通过环境变量的方式来传递。下面我们就来看如何设置。
下一步打开 Travis 官网 https://travis-ci.org 可以看到右上角的 Sign in with GitHub 即用 GitHub 账号登录。
完成登录后,进入设置页,可以看到本人的 GitHub 的项目,找到 VuePress 的项目。如果项目过多,找不到项目,可以点击 Sync account 按钮同步账户。接下里进入设置页,这里我们可以设置监听的分支、环境变量等。
其中 Environment Variables 为环境变量,Cron Jobs 为定时任务。在 .travis.yml 中可以使用 ${key} 取得环境变量中的值。
因为从 Travis 提交代码到 GitHub 默认是会被拒绝的,我们需要加上 access_token,我的项目里设为了 token。
接下来就可以去 GitHub https://github.com/settings/tokens 获取 access_token,点击 Generate new token 按钮,将生成好的 access_token 复制到 Travis 的环境变量中。到这里就算配置完成。
接下来只要我的提交代码,Travis 就会帮我构建部署,这样我就省去了许多部署的时间。
关于 .travis.yml 的配置还有很多,如果感兴趣也可以到 Travis 官网查看文档。
如果你喜欢我的文章,希望可以关注一下我的公众号【前端develop】
猜你喜欢
- 2024-10-27 git安装使用 git的安装流程
- 2024-10-27 代码即将上线,突然有个中间提交不能发布!怎么办?
- 2024-10-27 git 将本地还原至某次提交 git还原到指定版本
- 2024-10-27 git reset 和 git rever 实践 git的reset
- 2024-10-27 这有一份 Git 日常使用清单,你需要吗?
- 2024-10-27 Git教学篇2-git日常操作之git clone与git tag
- 2024-10-27 git clone切换分支步骤,代理设置,作者信息设置
- 2024-10-27 Git 高级用法,喜欢就拿去用 git常用
- 2024-10-27 Git 必知必会《续》 git hint
- 2024-10-27 git的使用 git基本用法
你 发表评论:
欢迎- 05-1613步震撼淘宝大促闪光裂纹破墙立体字PS制作教程
- 05-16AI教程 | 绘制扁平的萌萌哒图标
- 05-160基础学平面设计所需了解的基础常识汇总
- 05-16自学平面设计需要多长时间?十六年职业设计总监告诉你
- 05-16平面设计都要学习哪些内容?
- 05-16李涛PS教程 高手之路PS教程 合成教程 —制作一个小星球
- 05-16Illustrator实例教程:制作炫酷的漩涡效果
- 05-16Illustrator实例教程:利用混合工具制作一朵炫酷的花
- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)