0%

Drone CI使用docker插件构建和推送镜像 - wosperry - 博客园

Excerpt

使用docker插件进行构建和发布镜像 首先,在项目中安装 drone 构建工具,可以通过以下命令进行安装: $ curl https://downloads.drone.io/cli/latest/drone_linux_amd64.tar.gz 


使用docker插件进行构建和发布镜像

首先,在项目中安装 drone 构建工具,可以通过以下命令进行安装:

1
$ curl https://downloads.drone.io/cli/latest/drone_linux_amd64.tar.gz \ | tar zx $ sudo install -t /usr/local/bin drone

接着,我们需要在项目根目录中创建一个 .drone.yml 文件,并添加以下代码:

1
kind: pipeline name: default steps: - name: build image: plugins/docker settings: repo: myrepo/myimage tags: [ latest, v1.0 ] context: ./app dockerfile: ./app/Dockerfile username: from_secret: docker_username password: from_secret: docker_password secrets: - name: docker_username value: your_dockerhub_username - name: docker_password value: your_dockerhub_password

解释一下以上代码:

kind: 定义的 Pipeline 类型。
name: Pipeline 名称,这里设置为默认值 default
steps: 定义步骤列表。
settings/repo: 指定要构建和发布到哪个 Dcoker 仓库和镜像名称。
settings/tags: 相应的镜像标签,用于版本管理。在这里使用了最新版和 v1.0 版本号作为例子。
settings/context: 指定项目所在目录的路径,即包含 Dockerfile 所处的目录。
settings/dockerfile: Dockerfile 文件所处的位置。
settings/username 和 settings/password: Docker hub 的用户名和密码,使用 from_secret 表示从 Drone Secrets 中获取。
secrets: Secrets 存储了私密数据(如远程服务器 SSH 密钥、数据库连接字符串等),它们不会明文地出现在 .drone.yml 中。

最后,启动构建过程,执行以下命令:

1
$ drone exec

在 Drone 控制台上查看构建状态,如果构建没有出现问题,则说明你已经成功使用 Drone 和 plugins/docker 构建并发布 Docker 镜像了喵~