Sar*_*ala 5 git-tag docker docker-image github-actions
我已经创建了一个关于创建存储库标签的 GitHub 操作。我成功地构建了 Docker 映像并将其推送到 AWS,但是我不知道如何使用与 GitHub 标签相同的名称来标记该映像。下面是我的 git 工作流程文件
name: Build Docker Image and Push to AWS ECR
on:
push:
tags:
- '*'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-west-2
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v1
- name: Build, tag, and push image to Amazon ECR
id: build-image
env:
ECR_REGISTRY: ${{ secrets.AWS_REGISTRY }}
ECR_REPOSITORY: repo_name
IMAGE_TAG: latest
run: |
docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
Run Code Online (Sandbox Code Playgroud)
请帮我替换IMAGE_TAG上面代码中的正确值
Dan*_*nyB 10
我们决定使用 git commit sha 作为图像标签,因为它始终代表代码的唯一状态。
- name: Build, tag, and push image to Amazon ECR
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
ECR_REPOSITORY: reponame
IMAGE_TAG: ${{ github.sha }}
run: |
docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
Run Code Online (Sandbox Code Playgroud)
如果您需要或更喜欢使用 commit 标签,您只需使用以下内容从 ref 中提取它:
- name: Extract Git Tag
run: echo "GIT_TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
- name: Build, tag, and push image to Amazon ECR
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
ECR_REPOSITORY: reponame
IMAGE_TAG: ${{ env.GIT_TAG }}
run: |
docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8981 次 |
| 最近记录: |