Try syncing

This commit is contained in:
Nikolai Rodionov
2023-02-25 20:37:04 +01:00
parent 18b5c8811c
commit d60bb788a6
3 changed files with 46 additions and 17 deletions

View File

@ -342,6 +342,35 @@ So my pipeline for a non-main branch looks like that:
- kubectl apply -f /tmp/new_appset.yaml
```
And even though it's very ugly, I already like it. Because it's working
And even though it's very ugly, I already like it. Because it works.
![Drone pipeline result](/dyn-envs/drone-pipeline.png)
![Drone pipeline result](/dyn-envs/drone-pipeline.png)
I would like to move the whole pipeline logic out of the `.drone.yml` file. But I will do it later.
After our application set is deployed, we need to update the application the is created by it. I would like to use the `argocd` cli tool for that. to sync one app we need to use selectors, and I'd like to go with labels. So let's first add labels to our `ApplicationSet`
```YAML
...
template:
metadata:
name: "{{ app }}-{{ name }}"
namespace: argo-system
labels:
branch: "{{ name }}"
application: "{{ app }}"
...
```
And now let's create a job like that:
```YAML
- name: Sync application
image: argoproj/argocd
environment:
ARGOCD_SERVER:
from_secret: ARGOCD_SERVER
ARGOCD_AUTH_TOKEN:
from_secret: ARGOCD_AUTH_TOKEN
commands:
- argocd app sync -l app=badhouseplants -l branch=$DRONE_BRANCH
```