首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Github操作创建Docker容器不会更新github包中的包

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

Stack Overflow用户
提问于 2021-10-04 16:21:34
回答 1查看 258关注 0票数 3

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

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

这是我的部署脚本。有人能让我知道如何修改它,以便在每次部署之后创建一个新的包吗?

代码语言:javascript
复制
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包只停留在最初的推时,而不是更新包。检查时,代码更改是原始代码,不更改为新代码。

在github操作上,它表明它已成功地被推送。

这是docker.ci

代码语言:javascript
复制
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:
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-11 12:18:36

问题是码头标签没有包括在推送中。我在推送上加上了标签,然后就修好了。

以下是不够,您还必须将标记添加到push中,否则github存储库将因某些原因而不更新它。

代码语言:javascript
复制
  - name: Push images
    run: |
      docker push ${{ env.WEB_IMAGE }}
      docker push ${{ env.NGINX_IMAGE }}

您必须执行以下操作

代码语言:javascript
复制
  - 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
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69439309

复制
相关文章

相似问题

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