memos Github Fork 项目后使用 Action 重新构建 Docker 镜像

本文含有: Actions Github Docker memos

RT,记录下整个流程

Hub Docker 新建令牌

如果不需要可跳过

1、新建令牌(点我)

这里注意下,记得选Read, Write, Delete

记得创建仓库,在yml那步中会用到

添加 Token

回到项目,点击 Setting,点击Secrets and vaiables

然后在 Repository secrets 中添加 DOCKER_HUB_TOKENDOCKER_HUB_USERNAME 这两个密钥

修改 yml

接下来修改这个文件 .github/workflows/build-and-push-release-image.yml

找到 username: stevenlgtm 修改成你自己的GITHUB用户名

      - name: Login to Docker Hub
        uses: docker/login-action@v3
        with:
          username: eezd
          password: ${{ secrets.DOCKER_HUB_TOKEN }}

修改下触发条件,当有 release 被提交时触发。并且在 on 下添加一个 workflow_dispatch: 否则你将会无法手动运行

on:
  push:
    branches:
      # Run on pushing branches like 'v1.0.0', 'v0.22.2rc'
      - "v*"
  workflow_dispatch:

修改 所有images,第一行是你Docker Hub的仓库地址,第二行是Github Packages地址

      # Metadata for stable versions
      - name: Docker meta for stable
        id: meta-stable
        if: env.PRE_RELEASE == 'false'
        uses: docker/metadata-action@v5
        with:
          images: |
            eezd/memos
            ghcr.io/eezd/memos

测试运行

接下来点击 Actions—找到你要运行的yml—点击Run workflow就可以了,先测试下有没有问题

获取 tags

请先确保你的Action文件可以正确运行

我们发现 Tags 是空的,我们该如何拉取原仓库的tags呢?

先拉取你Fork仓库

git clone https://github.com/eezd/memos.git
cd memos

然后添加原仓库作为远程

git remote add upstream https://github.com/usememos/memos.git

拉取远程仓库的 tags

git fetch upstream --tags

最后推送 Tags

git push origin --tags

最后

我们刚刚手动编译运行的是 main 分支的 Docker 镜像

如果你想编译个别版本的镜像需要回到哪个版本,修改 yml,手动运行

Licensed under CC BY-NC-SA 4.0
本博客已稳定运行
发表了53篇文章 · 总计28.17k字
使用 Hugo 构建
主题 StackJimmy 设计