We are doing CI in Google cloud , using cloudbuild and pushing containers to GCR.
We are using helm charts for application and have started evaluating argocd for deployment to multiple GKE clusters.
SO i have source Code in seperate repo and application manifests or helm chart in my GitOps repo which is synced to argocd .
My question is how do i trigger pipeline based on my image sha whenever there is a new image pushed to the GCR , how does Gitops repo know about the sha of the image or even how to acheive this ?
Any guide document etc would really help , cannot see much on documentation right now.
You can use Auto-Sync.
Whenever you push a new image, you will have to update your deployment repo with the new image tag. With Auto-Sync, whenever your deployment repo is updated Argo will perform a new sync.
Does this help?
Sure about auto-sync but i dont want dev to update image in gitops repo every single time whenever there is new image , i am trying to find a way to automate it from ci stage itself like hook or something which takes image sha and update the tag
i am trying to find a way to automate it from ci stage itself like hook or something which takes image sha and update the tag
See Automation from CI Pipelines
The way to do this is by using Jenkins or some similar CI/Job platform. For example, when commiting to master, your CI job would build the image and then update the deployment repo with the new tag automatically.
Closing this, feel free to reopen if needed
I think this is a dupe of another ticket. #1648 ?
@alexec - any plans to fix that ticket #1648 ?
We are planning to use argocd in production but this is blocking us to use it
Please see my comment for how to do this in that ticket. In short - we recommend you pin your tags in production and have the CI commit the updated tag to your manifests
Most helpful comment
See Automation from CI Pipelines
The way to do this is by using Jenkins or some similar CI/Job platform. For example, when commiting to master, your CI job would build the image and then update the deployment repo with the new tag automatically.