Basic TravisCI Information

支持 HackTricks

访问

TravisCI 直接集成了不同的 git 平台,如 Github、Bitbucket、Assembla 和 Gitlab。它会要求用户授予 TravisCI 访问他想要集成的仓库的权限。

例如,在 Github 中,它会请求以下权限:

  • user:email (只读)

  • read:org (只读)

  • repo: 授予对公共和私有仓库及组织的代码、提交状态、协作者和部署状态的读写访问权限。

加密的 Secrets

环境变量

在 TravisCI 中,与其他 CI 平台一样,可以在 仓库级别保存 secrets,这些 secrets 将被加密保存,并在执行构建的机器的 环境变量中解密并推送

可以指示 secrets 将可用的分支(默认是所有分支),还可以指示 TravisCI 是否应隐藏其值 如果它出现在 日志中(默认会隐藏)。

自定义加密的 Secrets

对于 每个仓库,TravisCI 会生成一个 RSA 密钥对保留 私钥,并将仓库的 公钥提供 给有 访问权限 的人。

你可以通过以下方式访问一个仓库的公钥:

travis pubkey -r <owner>/<repo_name>
travis pubkey -r carlospolop/t-ci-test

然后,您可以使用此设置来加密秘密并将其添加到 .travis.yaml。这些秘密将在构建运行时解密并在环境变量中可访问。

请注意,以这种方式加密的秘密不会出现在设置的环境变量列表中。

自定义加密文件

与之前相同,TravisCI 也允许加密文件并在构建期间解密它们

travis encrypt-file super_secret.txt -r carlospolop/t-ci-test

encrypting super_secret.txt for carlospolop/t-ci-test
storing result as super_secret.txt.enc
storing secure env variables for decryption

Please add the following to your build script (before_install stage in your .travis.yml, for instance):

openssl aes-256-cbc -K $encrypted_355e94ba1091_key -iv $encrypted_355e94ba1091_iv -in super_secret.txt.enc -out super_secret.txt -d

Pro Tip: You can add it automatically by running with --add.

Make sure to add super_secret.txt.enc to the git repository.
Make sure not to add super_secret.txt to the git repository.
Commit all changes to your .travis.yml.

注意,当加密一个文件时,2个环境变量将会在仓库中配置,例如:

TravisCI Enterprise

Travis CI Enterprise 是 Travis CI 的本地版本,你可以在你的基础设施中部署。可以将其视为 Travis CI 的“服务器”版本。使用 Travis CI 可以在一个环境中启用易于使用的持续集成/持续部署 (CI/CD) 系统,你可以根据需要进行配置和安全设置。

Travis CI Enterprise 由两个主要部分组成:

  1. TCI 服务(或 TCI 核心服务),负责与版本控制系统集成、授权构建、调度构建作业等。

  2. TCI Worker 和构建环境镜像(也称为操作系统镜像)。

TCI 核心服务需要以下内容:

  1. 一个 PostgreSQL11(或更高版本)数据库。

  2. 部署 Kubernetes 集群的基础设施;如果需要,可以在服务器集群或单台机器上部署。

  3. 根据你的设置,你可能需要自行部署和配置某些组件,例如 RabbitMQ - 详见 Setting up Travis CI Enterprise

TCI Worker 需要以下内容:

  1. 一个可以部署包含 Worker 和链接的构建镜像 的 docker 镜像的基础设施。

  2. 与某些 Travis CI 核心服务组件的连接 - 详见 Setting Up Worker

部署的 TCI Worker 和构建环境操作系统镜像的数量将决定你基础设施中 Travis CI Enterprise 部署的总并发容量。

支持 HackTricks

Last updated