上传 Docker 制品

# 介绍

本文将介绍如何通过 云原生构建 自动构建 Docker 镜像并将它发布到制品库。

# 操作步骤

# 配置访问令牌

进入 制品仓库 -> 仓库管理 的对应 Docker 仓库。

点击 操作指引, 在 配置凭据 里生成个人令牌。

记下 用户名密码域名

# 编写敏感信息文件

为降低敏感信息泄露风险, 参考 pipeline.imports, 在另一个项目仓库文件(比如:secret.yml)保存之前得到的 用户名密码

敏感信息配置文件示例:

DOCKER_USERNAME: xxx
DOCKER_PASSWORD: xxx

# 编写Dockerfile

简单示例:

FROM alpine

RUN echo hello world

# 编写流水线配置文件

流水线主要做三件事:

  • 登陆镜像源
  • 构建镜像
  • 发布镜像

流水线配置文件示例:

# 分支名
docker-demo:
  # 代码 push
  push:
    - services:
        # 流水线中启用 docker 服务
        - docker
      # 导入环境变量
      imports: https://xxx.xxx/xxx/secret.yml
      # 引用环境变量 登陆、build、push
      stages:
        - name: docker login
          # xxx.com 是之前记录的镜像源域名
          script: docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD xxx.com
        - name: docker build
          script: docker build -t xxx.com/xxx/docker-demo:latest .
        - name: docker push
          script: docker push xxx.com/xxx/docker-demo:latest

# 查看结果

提交代码后触发对应分支 push 事件,执行对应流水线,可以看到流水线执行成功。在对应制品库里也能看到最新上传的镜像。