2.4.2. 使用 CircleCI
您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 CircleCI 集成。
Prerequisetes
-
您有一个具有
Image资源的读写权限的令牌。 - 您有 Docker Hub 帐户的用户名和密码。
流程
- 登录 CircleCI 并打开现有项目或创建新项目。
- 单击 Project Settings。
- 点 环境变量。
点 Add 变量,创建以下三个环境变量:
- 名称 :STACKROX_CENTRAL_HOST - Central 的 DNS 名称或 IP 地址。
- 名称 :ROX_API_TOKEN - 访问 Red Hat Advanced Cluster Security for Kubernetes 的 API 令牌。
- 名称 :DOCKERHUB_PASSWORD - Docker Hub 帐户的密码。
- 名称 :DOCKERHUB_USER - Docker Hub 帐户的用户名。
-
在所选项目的本地代码存储库的根目录下创建名为
.circleci的目录,如果您还没有 CircleCI 配置文件。 在
.circleci目录中创建一个带有以下行的config.yml配置文件:version: 2 jobs: check-policy-compliance: docker: - image: 'circleci/node:latest' auth: username: $DOCKERHUB_USER password: $DOCKERHUB_PASSWORD steps: - checkout - run: name: Install roxctl command: | curl -H "Authorization: Bearer $ROX_API_TOKEN" https://$STACKROX_CENTRAL_HOST:443/api/cli/download/roxctl-linux -o roxctl && chmod +x ./roxctl - run: name: Scan images for policy deviations and vulnerabilities command: | ./roxctl image check --endpoint "$STACKROX_CENTRAL_HOST:443" --image "<your_registry/repo/image_name>"1 - run: name: Scan deployment files for policy deviations command: | ./roxctl image check --endpoint "$STACKROX_CENTRAL_HOST:443" --image "<your_deployment_file>"2 # Important note: This step assumes the YAML file you'd like to test is located in the project. workflows: version: 2 build_and_test: jobs: - check-policy-compliance注意如果您在存储库中已有 CircleCI 的
config.yml文件,请在现有配置文件中添加一个带有指定详情的新作业部分。- 将配置文件提交到存储库后,导航到 CircleCI 仪表板中的 Jobs 队列,以验证构建策略的执行。