Added GitOps commit after build and push Docker image
This commit is contained in:
@ -13,6 +13,13 @@ spec:
|
||||
resources:
|
||||
requests:
|
||||
storage: 128Mi
|
||||
volumes:
|
||||
- name: secrets-store
|
||||
csi:
|
||||
driver: secrets-store.csi.k8s.io
|
||||
readOnly: true
|
||||
volumeAttributes:
|
||||
secretProviderClass: azure-keyvault
|
||||
templates:
|
||||
|
||||
# Main steps sequence
|
||||
@ -28,6 +35,12 @@ spec:
|
||||
parameters:
|
||||
- name: git-sha
|
||||
value: "{{steps.checkout.outputs.parameters.git-sha}}"
|
||||
- - name: gitops-commit
|
||||
template: gitops-commit
|
||||
arguments:
|
||||
parameters:
|
||||
- name: git-sha
|
||||
value: "{{steps.checkout.outputs.parameters.git-sha}}"
|
||||
|
||||
# GIT CHECKOUT
|
||||
- name: checkout
|
||||
@ -101,3 +114,53 @@ spec:
|
||||
volumeMounts:
|
||||
- name: workspace
|
||||
mountPath: /workspace
|
||||
|
||||
- name: gitops-commit
|
||||
inputs:
|
||||
parameters:
|
||||
- name: git-sha
|
||||
container:
|
||||
image: alpine/git
|
||||
command: [sh, -c]
|
||||
env:
|
||||
- name: DEPLOY_REPO_URL
|
||||
value: ssh://git@srv22.mikr.us:20343/pikram/user-microservice-deploy.git
|
||||
- name: DEPLOY_REPO_BRANCH
|
||||
value: argo-deploy
|
||||
- name: CI_COMMIT_SHA
|
||||
value: "{{inputs.parameters.git-sha}}"
|
||||
args:
|
||||
- |
|
||||
mkdir -p ~/.ssh
|
||||
|
||||
cp /mnt/secrets/gitea-known-host ~/.ssh/known_hosts
|
||||
chmod 644 ~/.ssh/known_hosts
|
||||
|
||||
cp /mnt/secrets/gitea-deploy-key ~/.ssh/id_rsa
|
||||
chmod 600 ~/.ssh/id_rsa
|
||||
|
||||
git config --global user.name "argo[bot]"
|
||||
git config --global user.email "argo@marcin00.pl"
|
||||
|
||||
git clone --depth 1 --branch $DEPLOY_REPO_BRANCH --single-branch $DEPLOY_REPO_URL repo
|
||||
cd repo
|
||||
|
||||
|
|
||||
awk -v commit="$CI_COMMIT_SHA" '
|
||||
$0 ~ /name:[[:space:]]*api/ { in_api_container = 1; print; next }
|
||||
in_api_container && $0 ~ /^[[:space:]]*image:[[:space:]]*/ {
|
||||
sub(/:[^:[:space:]]+$/, ":" commit)
|
||||
in_api_container = 0
|
||||
print
|
||||
next
|
||||
}
|
||||
{ print }
|
||||
' deploy.yaml > deploy.tmp && mv deploy.tmp deploy.yaml
|
||||
|
||||
git add deploy.yaml
|
||||
'git diff-index --quiet HEAD || git commit -m "Argo: Changed deployed version to $CI_COMMIT_SHA"'
|
||||
git push origin $DEPLOY_REPO_BRANCH
|
||||
volumeMounts:
|
||||
- name: secrets-store
|
||||
mountPath: "/mnt/secrets"
|
||||
readOnly: true
|
||||
|
Reference in New Issue
Block a user