当下 2024年8月12日,距离中国大陆封锁 Docker
已经有一段时间了,此时在国内进行一些 Docker 镜像的相关操作会非常麻烦,或者说很多时候都会失败,此时不得不想一些别的办法提升办公效率了。
使用 Github Actions 功能 自动构建 Docker 镜像并推送到 DockerHub
。
PS:仅推荐开源项目使用此方法,私人仓库能不能用该方法、以及如何使用与本文无关。
以老狗的开源项目【Doimage】为例,配置文件如下:
ymlname: Docker Image CI
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
jobs:
build:
environment: docker_hub
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 18
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Run build
run: npm run build
- name: Build Docker image
run: docker build -t dingdangdog/doimage:1.0.0 -t dingdangdog/doimage:latest .
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Push Docker image
run: |
docker push dingdangdog/doimage:1.0.0
docker push dingdangdog/doimage:latest
- name: Clean up Docker images
run: docker system prune -af
PS:此文件由 ChatGPT 生成,只需要改一部分内容即可使用。
上述配置文件,如果你想要直接使用,可能需要修改一下内容:
镜像名称
)和版本号:我的配置文件中的名称和版本号包括两个,即 dingdangdog/doimage:1.0.0
和 dingdangdog/doimage:latest
,修改为你的项目名和版本号即可;branches: ["main"]
,请按需修改;docker_hub
,因此文件中有配置项:environment: docker_hub
,请按需修改。dockerHub
自然需要登录到 Docker,账号密码配置为:username: ${{ secrets.DOCKER_USERNAME }}
和 password: ${{ secrets.DOCKER_PASSWORD }}
,该处取值是在仓库配置中设置的值,请自行设置或修改。将配置文件编写完成后,比如名字为docker_build.yaml
,其放在仓库的目录应该是:.github/workflows/docker_build.yaml
,然后将相关代码推送到 Github 即可,GithubAcitons将会开始东运行。
本文作者:DingDangDog
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!