当我签入软件时,我正在使用GitHub Actions和Docker WatchTower动态更新我的图像(不,它不是关键软件。更重要的是要有一个精益的CI/CD)。
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集线器操作?这应该只是给一个构建提供多个标记,不是吗?
发布于 2022-06-02 15:33:07
嗯,实际上我在回答这个问题的时候几乎是自己回答的。
只需创建2个构建和2个图像。一个递增(以便您总是可以回滚回旧版本)并更新最新版本。
优先排序最新的,以便它可以更快地可用。
- 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}
然后再推两次。
- 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}}https://stackoverflow.com/questions/72478547
复制相似问题