# 基本 TravisCI 信息 {{#include ../../banners/hacktricks-training.md}} ## 访问 TravisCI 直接与不同的 git 平台集成,如 Github、Bitbucket、Assembla 和 Gitlab。它会要求用户授予 TravisCI 访问他想要与 TravisCI 集成的仓库的权限。 例如,在 Github 中,它会请求以下权限: - `user:email`(只读) - `read:org`(只读) - `repo`:授予对公共和私有仓库及组织的代码、提交状态、协作者和部署状态的读写访问权限。 ## 加密秘密 ### 环境变量 在 TravisCI 中,与其他 CI 平台一样,可以在仓库级别**保存秘密**,这些秘密将被加密保存,并在执行构建的机器的**环境变量**中**解密并推送**。 ![](<../../images/image (203).png>) 可以指示**秘密将可用的分支**(默认是所有)以及 TravisCI 是否**应隐藏其值**,如果它出现在**日志中**(默认会隐藏)。 ### 自定义加密秘密 对于**每个仓库**,TravisCI 生成一个**RSA 密钥对**,**保留**私钥,并将仓库的**公钥提供给**有权访问该仓库的人。 您可以通过以下方式访问一个仓库的公钥: ``` travis pubkey -r / travis pubkey -r carlospolop/t-ci-test ``` 然后,您可以使用此设置来**加密秘密并将其添加到您的 `.travis.yaml`**。这些秘密将在**构建运行时解密**并可在**环境变量**中访问。 ![](<../../images/image (139).png>) 请注意,以这种方式加密的秘密不会出现在设置的环境变量中。 ### 自定义加密文件 与之前一样,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 个环境变量,例如: ![](<../../images/image (170).png>) ## TravisCI 企业版 Travis CI 企业版是 **Travis CI 的本地版本**,您可以在 **您的基础设施中部署**。可以将其视为 Travis CI 的“服务器”版本。使用 Travis CI 可以在您可以根据需要配置和保护的环境中启用易于使用的持续集成/持续部署 (CI/CD) 系统。 **Travis CI 企业版由两个主要部分组成:** 1. TCI **服务**(或 TCI 核心服务),负责与版本控制系统的集成、授权构建、调度构建作业等。 2. TCI **工作节点**和构建环境镜像(也称为操作系统镜像)。 **TCI 核心服务需要以下内容:** 1. 一个 **PostgreSQL11**(或更高版本)数据库。 2. 部署 Kubernetes 集群所需的基础设施;如果需要,可以在服务器集群中或单台机器上部署。 3. 根据您的设置,您可能希望自行部署和配置某些组件,例如 RabbitMQ - 有关更多详细信息,请参见 [设置 Travis CI 企业版](https://docs.travis-ci.com/user/enterprise/tcie-3.x-setting-up-travis-ci-enterprise/)。 **TCI 工作节点需要以下内容:** 1. 一个基础设施,可以在其中部署包含 **工作节点和链接的构建镜像** 的 docker 镜像。 2. 连接到某些 Travis CI 核心服务组件 - 有关更多详细信息,请参见 [设置工作节点](https://docs.travis-ci.com/user/enterprise/setting-up-worker/)。 部署的 TCI 工作节点和构建环境操作系统镜像的数量将决定您基础设施中 Travis CI 企业版部署的总并发容量。 ![](<../../images/image (199).png>) {{#include ../../banners/hacktricks-training.md}}