forked from KKGo-Software-engineering/workshop-summer
-
Notifications
You must be signed in to change notification settings - Fork 0
49 lines (45 loc) · 1.89 KB
/
prod-cd.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
name: CD for Prod
on:
workflow_dispatch:
inputs:
test:
description: '🔦 QA lead already approved'
required: true
type: boolean
sign-off:
description: '📝 Make sure PO sign-off'
required: true
type: boolean
deploy-tag:
description: '🎯 Deploy Docker tag'
required: true
type: string
default: c9f6b38c1acd0a7153e42a03b577757262075eb3
deploy-message:
description: '🚀 Deploy message'
required: true
type: string
default: I'm inevitable
jobs:
gitops-prd-versioning:
name: GitOps Prod Versioning
runs-on: ubuntu-latest
steps:
- name: verify manual input
run: |
{ if [ '${{ inputs.test }}' = 'false' ]; then echo "🔦 QA lead not approve yet"; exit 1; fi }
{ if [ '${{ inputs.sign-off }}' = 'false' ]; then echo "📝 Need PO sign-off"; exit 1; fi }
- name: checkout
uses: actions/checkout@v3
- name: config git
run: |
git --version
git config user.name "robot"
git config user.email "[email protected]"
- name: change image tag
run: |
sed -i -E "s/ghcr.io\/kkgo-software-engineering\/workshop-summer-group-4-b2.*$/ghcr.io\/kkgo-software-engineering\/workshop-summer-group-4-b2:${{ inputs.deploy-tag }}/" infra/gitops/prod/deployment.yaml
git add infra/gitops/prod/deployment.yaml
git commit -m "[skip actions] ship it to prod 🚀 with ${{ inputs.deploy-message }}"
git pull --rebase
git push