Skip to content

Commit 1fcbc82

Browse files
committed
.
1 parent 4373caf commit 1fcbc82

File tree

2 files changed

+54
-20
lines changed

2 files changed

+54
-20
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: GitHub action dispath
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
test-regurl-tag:
7+
required: true
8+
default: ""
9+
description: "Container image URL with tag"
10+
prod-regurl:
11+
required: true
12+
default: ""
13+
description: "Container image URL WITHOUT tag"
14+
15+
env:
16+
TEST_IMAGE_WITH_TAG: ${{ github.env.inputs.test-url-tag }}
17+
PROD_IMAGE_URL: ${{ github.env.inputs.prod-url }}
18+
19+
jobs:
20+
copy_container_image:
21+
name: Copy container image
22+
runs-on: ubuntu-latest
23+
steps:
24+
- name: Get image tag
25+
run: |
26+
echo IMAGE_TAG=$(echo ${{ env.TEST_IMAGE_WITH_TAG }} | cut -d":" -f2) >> $GITHUB_ENV
27+
28+
- uses: 'google-github-actions/auth@v1'
29+
with:
30+
credentials_json: ${{ secrets.SA }}
31+
32+
- name: Configure Docker auth for gcloud command-line
33+
run: gcloud --quiet auth configure-docker && gcloud auth list
34+
35+
- name: Pull from test
36+
run: docker pull ${{ env.TEST_IMAGE_WITH_TAG }}
37+
38+
- name: Tag prod image
39+
run: docker tag ${{ env.TEST_IMAGE_WITH_TAG }} ${{ env.PROD_IMAGE_URL }}:${{ env.IMAGE_TAG }}
40+
41+
- name: Push to prod
42+
run: docker push ${{ env.PROD_IMAGE_URL }}:${{ env.IMAGE_TAG }}
43+
44+
- name: Summary
45+
run: |
46+
echo "TEST_IMAGE_WITH_TAG=${{ env.TEST_IMAGE_WITH_TAG }}" >> $GITHUB_STEP_SUMMARY
47+
echo "PROD_IMAGE=${{ env.PROD_IMAGE_URL }}:${{ env.IMAGE_TAG }}" >> $GITHUB_STEP_SUMMARY
48+
49+
- uses: hmarr/debug-action@v2
50+
if: always()

.github/workflows/dispatch-example.yml

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ on:
66
test-regurl-tag:
77
required: true
88
default: ""
9-
description: "Container image URL with tag"
9+
description: "Container image registry URL with tag"
1010
prod-regurl:
1111
required: true
1212
default: ""
13-
description: "Container image URL WITHOUT tag"
13+
description: "Container image registry URL WITHOUT tag"
1414

1515
env:
16-
TEST_IMAGE_WITH_TAG: ${{ github.env.inputs.test-url-tag }}
17-
PROD_IMAGE_URL: ${{ github.env.inputs.prod-url }}
16+
TEST_IMAGE_WITH_TAG: ${{ github.env.inputs.test-regurl-tag }}
17+
PROD_IMAGE_URL: ${{ github.env.inputs.prod-regurl }}
1818

1919
jobs:
2020
copy_container_image:
@@ -25,22 +25,6 @@ jobs:
2525
run: |
2626
echo IMAGE_TAG=$(echo ${{ env.TEST_IMAGE_WITH_TAG }} | cut -d":" -f2) >> $GITHUB_ENV
2727
28-
- uses: 'google-github-actions/auth@v1'
29-
with:
30-
credentials_json: ${{ secrets.SA }}
31-
32-
- name: Configure Docker auth for gcloud command-line
33-
run: gcloud --quiet auth configure-docker && gcloud auth list
34-
35-
- name: Pull from test
36-
run: docker pull ${{ env.TEST_IMAGE_WITH_TAG }}
37-
38-
- name: Tag prod image
39-
run: docker tag ${{ env.TEST_IMAGE_WITH_TAG }} ${{ env.PROD_IMAGE_URL }}:${{ env.IMAGE_TAG }}
40-
41-
- name: Push to prod
42-
run: docker push ${{ env.PROD_IMAGE_URL }}:${{ env.IMAGE_TAG }}
43-
4428
- name: Summary
4529
run: |
4630
echo "TEST_IMAGE_WITH_TAG=${{ env.TEST_IMAGE_WITH_TAG }}" >> $GITHUB_STEP_SUMMARY

0 commit comments

Comments
 (0)