CircleCI工作流程是否可以在第一步中创建Docker映像,然后在第二步中测试该Docker映像?

锯303

我是CircleCI工作流程的新手,我想创建一个包含两个步骤的工作流程。

  1. 第一步(构建作业)将构建具有特定标签的Docker映像并将其推送到Docker注册表。成功完成第一步后,它将触发第二个工作流程步骤,并移交Docker映像的标签。
  2. 然后,第二步将通过步骤1(例如,使用ENV变量)移交来下载图像。就像是
version: 2
    jobs:
      build:
        docker:
          - image: docker.repo.ch/image:${TAG}

在CircleCI工作流程中,是否有某种机制可以将值作为参数从一个构建工作移交给另一个构建工作?

埃夫拉特·列维坦(Efrat Levitan)

由于每个运行步骤都是一个新的shell,因此环境变量不会在各个步骤之间共享。如果您需要一个以上的步骤才能访问环境变量,请使用BASH_ENV导出该值。

https://circleci.com/docs/2.0/env-vars/#setting-an-environment-variable-in-a-step

将var导出到下一个作业:

workflows:
  version: 2
  pass_tag:
    jobs:
    - create_tag
    - use_tag:
        requires:
        - create_tag

executors:
  node:
    docker:
      - image: circleci/node:4.8.2

jobs:
  create_tag:
    executor: node
    steps:
    - run: echo "export MY_TAG=$CIRCLE_SHA1" >> $BASH_ENV
  use_tag:
    executor: node
    steps:
    - run: echo $MY_TAG

推送和使用docker映像:

使用CircleCI orbs(如库)构建并推送图像:

version: 2.1
orbs:
    aws-ecr: circleci/[email protected]

workflows:
  version: 2
  example:
   jobs:
      - aws-ecr/build-and-push-image:
          account-url: DEV_AWS_ECR_ACCOUNT_URL
          aws-access-key-id: DEV_ACCESS_KEY_ID
          aws-secret-access-key: DEV_SECRET_ACCESS_KEY
          create-repo: true
          repo: '${CIRCLE_PROJECT_REPONAME}'
          region: AWS_DEFAULT_REGION
          tag: '${CIRCLE_SHA1}'
      -  pull_image:
          requires:
              - aws-ecr/build-and-push-image

jobs:
    pull_image:
        *** pull and use your image here ***

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么构建Docker容器映像的第一步将基本映像作为源,在我看来它本身就是像ALPINE这样的操作系统?

来自分类Dev

Power BI中R Visual的第一步

来自分类Dev

第二步不插入数据

来自分类Dev

Linux上的Swift:使第一步工作

来自分类Dev

我该如何进行第二步,以便输出为:“ defabc123ghi”?

来自分类Dev

使用Spring的第一步

来自分类Dev

Git的第一步

来自分类Dev

使用Rails中的devise,尝试在注册后添加第二步以使用名称,个人简介和照片更新用户

来自分类Dev

跟踪mono asp.net库中触发的异常的第一步是什么?

来自分类Dev

使用dsbulk将数据加载到Cassandra中的第一步

来自分类Dev

无法从逻辑应用中删除或移动第一步?

来自分类Dev

在终端中执行 ssh 复制的第一步是什么?

来自分类Dev

Facebook受众群体整合,停留在第二步

来自分类Dev

是否可以在docker-compose中创建中间映像?

来自分类Dev

尝试使用SLICK进行第一步,但似乎无法正常工作或文档已过时

来自分类Dev

使用名称空间的第一步

来自分类Dev

使用virtualenv的Celery的第一步

来自分类Dev

在WEBGL中学习矩阵的第一步

来自分类Dev

Spring JPA映射-第一步

来自分类Dev

MPLAB的Mercurial:第一步是什么?

来自分类Dev

远程验证是mvc迈出的第一步

来自分类Dev

在C#中使用数组的第一步

来自分类Dev

组装的第一步-更换LED

来自分类Dev

难以理解3.2。编程的第一步

来自分类Dev

Monad变形金刚。第一步

来自分类Dev

fit_generator挂在R的第一步

来自分类Dev

Clojurescript第一步的疑问和问题

来自分类Dev

使用名称空间的第一步

来自分类Dev

成功的第一步... javascript alt

Related 相关文章

热门标签

归档