当我推送一个带有标签的提交时,docker/build-push-action@v1
GitHub Actions会自动构建一个Docker容器,标签表示版本号,我想在应用程序中显示它。
以下是我的工作流程:
- name: Push to Docker Hub - develop
uses: docker/build-push-action@v1
with:
repository: my_repo/my_image
path: frontend/
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
tags: develop
args: SOFTWARE_VERSION=${{ steps.vars.outputs.tag }}
此时,变量SOFTWARE_VERSION
应该在Dockerfile中可用,对吗?
在我的Dockerfile中,我设置:
ARG SOFTWARE_VERSION
ENV SOFTWARE_VERSION ${SOFTWARE_VERSION}
在容器内部,变量有一个空值。如何正确处理?
我不知道这是否重要,但我使用docker-compose
运行容器。
2条答案
按热度按时间wfveoks01#
您正在使用
args
传递参数。但是,https://github.com/docker/build-push-action的
@v1
提供了构建参数和@v3
构建参数。你应该为你需要使用的版本做出相应的选择。IMO,你应该选择最新的版本。
yzckvree2#
转到您的设置-〉秘密和变量
添加两个秘密
DOCKERHUB_USERNAME
您在DockerHub上的用户名DOCKERHUB_TOKEN
这是令牌,您可以从DockerHub获取它必须将此添加到生成和推送之前