2024-08-12
温故知新
00
请注意,本文编写于 100 天前,最后修改于 100 天前,其中某些信息可能已经过时。

目录

简介
构建workflow配置文件
修改配置文件内容
运行

简介

当下 2024年8月12日,距离中国大陆封锁 Docker 已经有一段时间了,此时在国内进行一些 Docker 镜像的相关操作会非常麻烦,或者说很多时候都会失败,此时不得不想一些别的办法提升办公效率了。

使用 Github Actions 功能 自动构建 Docker 镜像并推送到 DockerHub

PS:仅推荐开源项目使用此方法,私人仓库能不能用该方法、以及如何使用与本文无关。

构建workflow配置文件

以老狗的开源项目【Doimage】为例,配置文件如下:

yml
name: 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 生成,只需要改一部分内容即可使用。

修改配置文件内容

上述配置文件,如果你想要直接使用,可能需要修改一下内容:

  1. 项目名称(镜像名称)和版本号:我的配置文件中的名称和版本号包括两个,即 dingdangdog/doimage:1.0.0dingdangdog/doimage:latest,修改为你的项目名和版本号即可;
  2. 代码分支:我为了省事,都是使用的主分支,即:branches: ["main"],请按需修改;
  3. 环境:为了方便管理密钥,我创建了一个环境 docker_hub,因此文件中有配置项:environment: docker_hub,请按需修改。
  4. 账号密码:自动推送 dockerHub 自然需要登录到 Docker,账号密码配置为:username: ${{ secrets.DOCKER_USERNAME }}password: ${{ secrets.DOCKER_PASSWORD }},该处取值是在仓库配置中设置的值,请自行设置或修改。

运行

将配置文件编写完成后,比如名字为docker_build.yaml,其放在仓库的目录应该是:.github/workflows/docker_build.yaml,然后将相关代码推送到 Github 即可,GithubAcitons将会开始东运行。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:DingDangDog

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!