将镜像推送到docker repo后如何获取sha值



现在我在github操作中实现了docker ci,第一步构建docker映像并像这样推送到远程repo:

- name: Build image push to aliyun
uses: docker/build-push-action@v1
with:
registry: ${{ secrets.ALI_DOCKER_HUB_REGISTRY }}
username: ${{ secrets.ALIYUN_DOCKER_REPO_USER_NAME }}
password: ${{ secrets.ALIYUN_DOCKER_REPO_USER_PASSWORD }}
tag_with_sha: true
repository: reddwarf-pro/dolphin-post
path: 'dolphin-post'

推送到远程repo后,下一步我想使用这个最新的映像更新我的kubernetes集群应用程序。我想这样做:

- name: deploy to cluster
uses: steebchen/kubectl@v2.0.0
with: # defaults to latest kubectl binary version
config: ${{ secrets.KUBE_CONFIG_DATA }}
command: set image --record deployment/my-app container=${{ github.repository }}:${{ github.sha }}
- name: verify deployment
uses: steebchen/kubectl@v2.0.0
with:
config: ${{ secrets.KUBE_CONFIG_DATA }}
version: v1.21.0 # specify kubectl binary version explicitly
command: rollout status deployment/my-app

github.sha表示最新的图像sha代码。但是现在我不知道如何得到github.sha值。我应该设置为环境变量吗?如何设置成环境变量?我应该在哪里以及如何设置github.sha值?

这样做:

- name: Build image push to aliyun
uses: docker/build-push-action@v1
with:
registry: ${{ secrets.ALI_DOCKER_HUB_REGISTRY }}
username: ${{ secrets.ALIYUN_DOCKER_REPO_USER_NAME }}
password: ${{ secrets.ALIYUN_DOCKER_REPO_USER_PASSWORD }}
tags: ${{ github.sha }}
repository: reddwarf-pro/dolphin-post
path: 'dolphin-post'
- name: deploy to cluster
uses: steebchen/kubectl@v2.0.0
with: # defaults to latest kubectl binary version
config: ${{ secrets.KUBE_CONFIG_DATA }}
command: set image --record deployment/dolphin-post-service dolphin-post-service=registry.cn-hangzhou.aliyuncs.com/reddwarf-pro/dolphin-post:${{ github.sha }} -n reddwarf-pro

最新更新