关于travis-ci:Travis-CI-配置文件-travisyml-的语法介绍和一些用法举例

35次阅读

共计 1078 个字符,预计需要花费 3 分钟才能阅读完成。

在 Github 我的项目文件夹上面增加 .travis.yml 文件。

为了运行构建,Travis CI 的零碎将触发构建的存储库克隆到构建环境。构建环境是一个隔离的虚拟机或 LXD 容器,一旦构建实现就会终止。克隆仅在构建申请之后产生,因而仅实用于在 GitHub 设置中明确启用的存储库。

一个例子:

为了设置构建环境并筹备构建,Travis CI 的零碎从存储库和构建申请中明确指定的分支中获取并解决 .travis.yml 配置文件,由 GitHub 触发。

这个 .travis.yml 配置文件的语法在官网能够找到。

比方,dist: bionic 的意思是,构建虚构零碎的类型,bionic 是其中一个枚举值。

Travis CI 反对 Linux 构建的两种虚拟化类型:“Full VM”和“LXD”。最重要的是,Linux 构建能够在多个 CPU 架构上运行。

Full VM 是启用 sudo 的,每个构建的残缺虚拟机,运行 Linux.

尽管启动迟缓(与 LXD 容器相比减少了构建工夫)但没有任何限度。

它调配了固定数量的 vCPU 和 RAM。

而 LXD 环境,尽可能靠近容器世界中的虚拟机。Linux 环境在非特权 LXD 容器中运行。

和 Full VM 相比,其启动速度更快(与残缺 VM 相比缩小了构建工夫)但的确存在一些限度。

它从起码 2 个 vCPU 开始,如果有更多的计算工夫可用,主机能够动态分配它以放慢构建速度。

又比方 branches 关键字和 only 的组合,下列例子的语义是,仅当 develop, epic, release, integration-libs 等 分支呈现代码提交时才触发 Travis.

.travis.yml 是一个 YAML 格局的配置文件,上面是一些高级用法。

在更高级的用例中,为了缩小大型构建配置文件中的反复,一个好的做法是应用 YAML 的机制来定义和重用共享配置局部作为 YAML 锚点 别名

例如,不要像这样为两个不同的部署指标反复部署配置, 这是不好的实际:

deploy:
- provider: heroku
  api_key: ...
  app: app-production
  on:
    branch: master
- provider: heroku
  api_key: ...
  app: app-staging
  on:
    branch: staging

应用下列的语法,重用某块 yaml 定义:

deploy:
- &deploy
  provider: heroku
  api_key: ...
  app: app-production
  on:
    branch: master
- <<: *deploy
  app: app-staging
  on:
    branch: staging

更多 Jerry 的原创文章,尽在:” 汪子熙 ”:

正文完
 0