Drone CI使用docker插件构建和推送镜像
使用docker插件进行构建和发布镜像
首先,在项目中安装 drone
构建工具,可以通过以下命令进行安装:
$ curl https://downloads.drone.io/cli/latest/drone_linux_amd64.tar.gz \
| tar zx
$ sudo install -t /usr/local/bin drone
接着,我们需要在项目根目录中创建一个 .drone.yml
文件,并添加以下代码:
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 中。
最后,启动构建过程,执行以下命令:
$ drone exec
在 Drone 控制台上查看构建状态,如果构建没有出现问题,则说明你已经成功使用 Drone 和 plugins/docker 构建并发布 Docker 镜像了喵~