Bitbucket 管道使用上一步中本地构建的镜像

Dav*_*lsh 6 bitbucket bitbucket-pipelines

如果我想在一个管道步骤中构建一个 docker 映像,然后在以下步骤中使用它 - 我该怎么做?

例如

default:
    - step:
        name: Build
        image: 
        script:
          - docker build -t imagename:local .
          - docker images
    - step:
        name: Deploy
        image: 
        script:
          - docker images
Run Code Online (Sandbox Code Playgroud)

在这个例子中,图像出现在第一步,但没有出现在第二步

ice*_*w19 11

您可以将 Docker 保存/加载与 bitbucket 工件结合使用。

例子:

- step:
  name: Build docker image
  script:
    - docker build -t "repo/imagename" .
    - docker save --output tmp-image.docker repo/imagename
  artifacts:
    - tmp-image.docker
- step:
  name: Deploy to Test
  deployment: test
  script:
   - docker load --input ./tmp-image.docker
   - docker images
Run Code Online (Sandbox Code Playgroud)

来源:链接

  • 假设我们不想每次都从头开始构建图像,那么我们将如何使用 Bitbucket 管道来实现呢?缓存:docker 似乎对我不起作用,它只缓存我的 Dockerfile 中的环境变量设置,而不缓存 apt-get 安装或 pip 安装(这是花费最多时间的) (2认同)