2.4.2. 使用 CircleCI


您可以将 Red Hat Advanced Cluster Security for Kubernetes 与 CircleCI 集成。

Prerequisetes

  • 您有一个具有 Image 资源的读写权限 的令牌。
  • 您有 Docker Hub 帐户的用户名和密码。

流程

  1. 登录 CircleCI 并打开现有项目或创建新项目。
  2. 单击 Project Settings
  3. 环境变量
  4. 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 帐户的用户名。
  5. 在所选项目的本地代码存储库的根目录下创建名为 .circleci 的目录,如果您还没有 CircleCI 配置文件。
  6. .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
    1
    <your_registry/repo/image_name& gt; 替换为您的 registry 和镜像路径。
    2
    <your_deployment_file > 替换为部署文件的路径。
    注意

    如果您在存储库中已有 CircleCI 的 config.yml 文件,请在现有配置文件中添加一个带有指定详情的新作业部分。

  7. 将配置文件提交到存储库后,导航到 CircleCI 仪表板中的 Jobs 队列,以验证构建策略的执行。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.