memos Github Fork 项目后使用 Action 重新构建 Docker 镜像
目录
RT,记录下整个流程
1 Hub Docker 新建令牌
如果不需要可跳过
1、新建令牌(点我)
这里注意下,记得选 Read, Write, Delete

记得创建仓库,在 yml 那步中会用到
2 添加 Token
回到项目,点击 Setting,点击Secrets and vaiables
然后在 Repository secrets 中添加 DOCKER_HUB_TOKEN 和 DOCKER_HUB_USERNAME 这两个密钥

3 修改 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/memos4 测试运行
接下来点击 Actions—找到你要运行的 yml—点击 Run workflow 就可以了,先测试下有没有问题

5 获取 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 --tags6 最后
我们刚刚手动编译运行的是 main 分支的 Docker 镜像
如果你想编译个别版本的镜像需要回到哪个版本,修改 yml,手动运行