0x00 创建仓库
创建一个git仓库名称为workflow。

0x10 编写yml
在仓库目录下创建如下文件夹.github/workflows,并在workflows目录下创建docker-push.yml 文件
主要修改docker hub中的镜像地址。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| name: Build and push Docker image on: push: branches: - main jobs: build-and-push: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Login to Docker Hub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Build and tag Docker image run: | docker build -t zdog/php-fpm:${{ github.sha }} . docker tag zdog/php-fpm:${{ github.sha }} zdog/php-fpm:8.1.3 - name: Push Docker image run: docker push zdog/php-fpm:8.1.3
|
0x20 编写Dockerfile
基于php镜像并安装一些常用扩展。
1 2 3 4 5 6
| FROM php:8.1.3-fpm RUN apt-get update \ && apt install -y \ libmagickwand-dev \ git \ zip \
|
0x30 添加秘钥
给git仓库添加秘钥

0x40 测试
提交代码到仓库,自动触发了workflow执行构建docker程序。

docker hub查看
构建成功
