如何从github自动设置docker镜像版本



我已经将github repo与我的docker hub帐户链接起来。当有一个到githubmaster分支的推送时,将在dockerhub中构建一个新的映像。但是图像只有LATEST标签。如何使版本自动增加?

理想情况下,我希望它遵循版本1.0.0。并且每推1.0.11.0.21.0.3等增加

有没有办法让它遵循这种模式?

您可以将GitHub Action工作流与您的存储库相关联,如docker/metadata-action

GitHub为Docker提取元数据(标签、标签(的操作。如果与Docker Build Push操作一起使用,则此操作特别有用。

您可以在此处看到它的用法。警告:标记名称(由GitHub操作生成(也将包含分支名称。

我也遇到了同样的问题,用这个GitHub操作代码解决了:

  1. 创建一个名为MAJOR的秘密以保存您的市长版本
  2. 创建一个名为MINOR的秘密以保存您的次要版本
  3. 您将需要一个令牌来更新您的回购机密,因此…创建一个名为repo_ACCESS_token的机密,以授予您的行动剂量他的工作
name: Docker Image CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:    
- uses: actions/checkout@v2
-
name: Build the Docker image
run: docker build . --file src/MasterReport.UI/Dockerfile --tag eriksongm/master-report:${{ secrets.MAJOR }}.${{ secrets.MINOR }}
-
name: Login to DockerHub
uses: docker/login-action@v1 
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Push to DockerHub
run: docker push eriksongm/master-report:${{ secrets.MAJOR }}.${{ secrets.MINOR }}
-
name: Update Minor version
uses: hmanzur/actions-set-secret@v2.0.0
with:
name: 'MINOR'
value: $((${{ secrets.MINOR }}+1))
repository: EriksonGM/MasterReport
token: ${{ secrets.REPO_ACCESS_TOKEN }}

这是我的最后一段代码,正如你所看到的,我还有最后一步只是更新次要版本,前提是所有其他作业都运行正常。

最新更新