GitHub 的 CI/CD与 Travis 配置小记

简介: GitHub 的 CI/CD与 Travis 配置小记

问题

在GitHub上协作开发,写测试用例那是必须的,至于执行测试用例,
GitHub 的 MarketPlace 上有很多工具可以配合使用;使用 Travis 等工具我们可以很轻松的实现CI/CD(持续集成、持续部署);我们的问题是该怎么做呢?

了解Travis

Travis CI 提供的是持续集成服务(Continuous Integration,简称 CI)。它绑定 GitHub 上面的项目,只要有新的代码,就会自动抓取。然后,提供一个运行环境,执行测试,完成构建,还能部署到服务器。

持续集成指的是只要代码有变更,就自动运行构建和测试,反馈运行结果。确保符合预期以后,再将新代码"集成"到主干。

持续集成的好处在于,每次代码的小幅变更,就能看到运行结果,从而不断累积小的变更,而不是在开发周期结束时,一下子合并一大块代码。

Travis 作为 GitHub MarketPalce 上的一个产品,目前只支持 GitHub 仓库,私有和共有库都可以使用, 只是用私有库的时候需要在环境遍历中配置一个 Token, 这个Token 设置可以和下面设置 GitHub Token 、GIT_NAME 等一样。

作为要 CI/CD 的库,库里面需要包含用于 CI/CD 的命令

Travis 可以执行多种语言的测试及构建。详情请点击这里

生命周期

  1. OPTIONAL Install apt addons
  2. OPTIONAL Install cache components
  3. before_install
  4. install
  5. before_script
  6. script
    7.OPTIONAL before_cache (for cleaning up cache)
  7. after_success or after_failure
  8. OPTIONAL before_deploy
  9. OPTIONAL deploy
  10. OPTIONAL after_deploy
  11. after_script

在构建时,生命周期可以组合使用。

配置.travis.yml

在项目根目录简历 .travis.yml 文件。配置如下

该文件名前有一英文点


language: node_js

node_js:
  - "10"

branches:
  only:
    - dev

install:
  - npm install -g yarn
  - npm install -g codecov
  - yarn

script:
  - yarn testCoverage

after_success:
  - codecov
  - yarn build

env:
 global:
   - GH_REF: github.com/beef-noodles/PlatformWeb.git

after_script:
  - cd ./build
  - git init
  - git config user.name "${GIT_NAME}"
  - git config user.email "${GIT_EMAIL}"
  - git add .
  - git commit -m "Update docs"
  - git push --force --quiet "https://${GITHUB_TOkEN}@${GH_REF}" master:master

将你的项目添加进Travis

进入Travis官网并用 GitHub 登录,在左侧选择加入仓库,

image

打开要CI/CD的库的选项按钮,点击settings, 进入设置,导航到环境变量中,输入要用到的环境变量,即可添加到环境变量列表

image

注意,一般情况下,环境变量都不显示,即 Display value in build log 这一项默认。

效果

在上面一切完成之后,在本地进行代码修改并提交,GitHub 会自动通知 Travis 进行自动化构建。如上完成代码自动化测试(CI),和自动化部署(CD)

构建日志太长,截一部分重要的吧。

注意里面的环境变量已经变成了[secure]

image

今天没总结

目录
相关文章
|
8月前
|
存储 运维 安全
【运维知识高级篇】一篇文章带你搞懂GitHub基础操作!(注册用户+配置ssh-key+创建项目+创建存储库+拉取代码到本地+推送新代码到Github)
【运维知识高级篇】一篇文章带你搞懂GitHub基础操作!(注册用户+配置ssh-key+创建项目+创建存储库+拉取代码到本地+推送新代码到Github)
138 0
|
2月前
|
网络安全
github或gitee配置ssh
github或gitee配置ssh
21 0
|
4月前
|
开发工具 git
[github配置] 远程访问仓库以及问题解决
[github配置] 远程访问仓库以及问题解决
73 0
|
5月前
|
JavaScript 开发工具 C++
Qt 配置GitHub Copilot
欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。 在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。 在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资
|
6月前
|
Linux 网络安全 开发工具
[笔记]github SSH 配置
[笔记]github SSH 配置
|
7月前
|
存储 搜索推荐 JavaScript
SAP Commerce Cloud Github 项目的个性化配置 customization
SAP Commerce Cloud Github 项目的个性化配置 customization
56 0
|
7月前
|
存储 搜索推荐 程序员
配置Picgo图床之COS、OSS、Github图床
配置Picgo图床之COS、OSS、Github图床
|
7月前
|
存储 Linux 网络安全
Git 配置SSH,多个 Github 账号配置不同的SSH KEY(二)
Git 配置SSH,多个 Github 账号配置不同的SSH KEY
|
7月前
|
Shell 网络安全 开发工具
Git 配置SSH,多个 Github 账号配置不同的SSH KEY(一)
Git 配置SSH,多个 Github 账号配置不同的SSH KEY
|
7月前
|
网络安全 开发工具 数据安全/隐私保护
GitHub不再支持密码验证解决方案:SSH免密与Token登录配置
今天提交代码,push到GitHub上,突然出现这个问题。 remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information. fatal: unable to acce

热门文章

最新文章