gpt4 book ai didi

docker - 使用 Github 操作创建 Docker 容器不会更新 github 包中的包

转载 作者:行者123 更新时间:2023-12-04 14:02:57 33 4
gpt4 key购买 nike

以下 .github 工作流脚本不会更新部署在 Github 包上的包。

每次部署后,我希望脚本更新部署的包。

这是我的部署脚本。有人可以告诉我如何修改它以便在每次部署后创建一个新包吗?

name: Continuous Integration and Delivery

on: [ push ]

env:
WEB_IMAGE: ghcr.io/$(echo $GITHUB_REPOSITORY | tr '[:upper:]' '[:lower:]')/web
NGINX_IMAGE: ghcr.io/$(echo $GITHUB_REPOSITORY | tr '[:upper:]' '[:lower:]')/nginx

jobs:

build:
name: Build Docker Images
runs-on: ubuntu-latest
steps:
- name: Log in to GitHub Packages
run: echo ${PERSONAL_ACCESS_TOKEN} | docker login ghcr.io -u ${{ secrets.NAMESPACE }} --password-stdin
env:
PERSONAL_ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
- name: Build images
run: |
docker-compose down -v
docker-compose -f docker-compose.ci.yml build
- name: Push images
run: |
docker push ${{ env.WEB_IMAGE }}
docker push ${{ env.NGINX_IMAGE }}

github包只停留在最初推送时的原始时间,不更新包。并且经检查,代码改动是原来的,并没有改成新的。

enter image description here

在github actions上,显示推送成功

enter image description here

这里是docker.ci

version: "3.8"

services:
web:
build:
context: ./app
dockerfile: Dockerfile.prod
image: "${WEB_IMAGE}"
command: gunicorn hello_django.wsgi:application --bind 0.0.0.0:8000
volumes:
- static_volume:/usr/src/app/staticfiles
- media_volume:/usr/src/app/mediafiles
expose:
- 8000
env_file: .env
nginx:
build:
context: ./nginx
image: "${NGINX_IMAGE}"
volumes:
- static_volume:/usr/src/app/staticfiles
- media_volume:/usr/src/app/mediafiles
ports:
- 80:80
depends_on:
- web

volumes:
static_volume:
media_volume:

最佳答案

问题是 docker 标签没有包含在推送中。我在推送中添加了标签,它已修复。

以下内容还不够,您还必须将标签添加到推送中,否则 github 存储库由于某种原因不会更新它。

  - name: Push images
run: |
docker push ${{ env.WEB_IMAGE }}
docker push ${{ env.NGINX_IMAGE }}

您必须执行以下操作

  - name: Push images
run: |
docker tag ${{ env.WEB_IMAGE }} ${{ env.WEB_IMAGE_BASE }}:latest
docker push ${{ env.WEB_IMAGE }}
docker push ${{ env.WEB_IMAGE_BASE }}:latest
docker tag ${{ env.NGINX_IMAGE }} ${{ env.NGINX_IMAGE_BASE }}:latest
docker push ${{ env.NGINX_IMAGE }}
docker push ${{ env.NGINX_IMAGE_BASE }}:latest

关于docker - 使用 Github 操作创建 Docker 容器不会更新 github 包中的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69439309/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com