首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用GITHub操作使“最新”版本成为旧版本

使用GITHub操作使“最新”版本成为旧版本
EN

Stack Overflow用户
提问于 2022-06-02 15:16:51
回答 1查看 87关注 0票数 0

当我签入软件时,我正在使用GitHub Actions和Docker WatchTower动态更新我的图像(不,它不是关键软件。更重要的是要有一个精益的CI/CD)。

代码语言:javascript
复制
name: Docker Image CI
on:
 push:
  branches: [ main ]
jobs:
 build:
  runs-on: ubuntu-latest
   steps:
   - uses: actions/checkout@v3
   - name: Build the Docker image
     run: docker build . -t me/myrepo:${{github.run_number}}
     #:$(date +%s)
     #docker build --rm -t ne/myrepo .

   - name: Login to Docker Hub
     env:
      DOCKER_USER: ${{ secrets.DOCKER_USER }}   
      DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}  
     run: |
      echo $DOCKER_USER
      docker login -u $DOCKER_USER -p $DOCKER_PASSWORD

    - name: Push the new Tag to Docker Hub
      run: |
       docker push me/myrepo:${{github.run_number}}

这个很好用。

但是监视塔只能下载最新版本的版本,例如latest。最好的解决方案是,我可以在github操作上保持递增版本,而了望塔将采用最高版本。我想它不能这么做。

  • 或者-

我将最新版本(例如49)标记为latest。如何处理git集线器操作?这应该只是给一个构建提供多个标记,不是吗?

EN

回答 1

Stack Overflow用户

发布于 2022-06-02 15:33:07

嗯,实际上我在回答这个问题的时候几乎是自己回答的。

只需创建2个构建和2个图像。一个递增(以便您总是可以回滚回旧版本)并更新最新版本。

优先排序最新的,以便它可以更快地可用。

代码语言:javascript
复制
- name: Build the Docker image
  run: docker build . -t me/myrepo:latest    

- name: Build the Docker image
  run: docker build .

-t me/myrepo:${github.run_number}

然后再推两次。

代码语言:javascript
复制
- name: Push the also the latest Tag to Docker Hub
  run: |
    docker push me/myrepo:latest

- name: Push the new Tag to Docker Hub
  run: |
    docker push me/myrepo:${{github.run_number}}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72478547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档