使用GitHub Actions自动构建镜像并推送到阿里云容器镜像服务

使用GitHub Actions自动构建镜像并推送到阿里云容器镜像服务

这两天有个使用Docker部署的项目,寻思着用Actions自动化构建一下试试。过程简单,十分方便。

Step 1 找个存镜像的地方

我用的是阿里云的容器镜像服务。注册的时候会要求填写一个密码。记好,待会用。

Step 2 设置GitHub Actions Secret

GitHub Actions Secret

尽量不要把明文的账号密码写到脚本里。Actions Secret就是为这个设计的。把账号密码填写到Actions Secret里可以在稍后用变量的方式获取到。

Step 3 编写Actions脚本

进入Actions选项卡,新建一个Actions。(学名叫workflow)

Actions Workflow

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
name: Docker Image CI # Actions名称

on: [push] # 执行时机

jobs:

build: # 一个名叫build的任务(名字可以随便起)
runs-on: ubuntu-latest # 基于最新版Ubuntu系统执行下列任务
steps:
- uses: actions/checkout@v1 # 将仓库内容拷贝到Ubuntu系统的虚拟环境
- name: Build the Docker image # 步骤名字
run: |
docker login --username=${{ secrets.DOCKER_USN }} registry.ap-northeast-1.aliyuncs.com --password=${{ secrets.DOCKER_PWD }} # 登录docker,并使用Secret里配置的参数
docker build -t xingwen:latest . #执行构建
docker tag xingwen registry.ap-northeast-1.aliyuncs.com/example/xingwen
docker push registry.ap-northeast-1.aliyuncs.com/example/xingwen:latest # 推送

保存文件之后,GitHub Actions会在每次push之后执行上述这个序列内的命令。将会自动构建一个新的镜像推送到指定位置。当执行出错时,GitHub会向你的邮箱发送一封邮件告知。

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×