ArgoCD Kaynak Kancaları.
E2E kurulumunda yardımcı oldu
Kancalar için birkaç Kullanım durumu şunlardır:
A- Uygulamanın yeni bir sürümünü dağıtmadan önce, bir veritabanı şeması geçişi gerçekleştirmek için bir PreSync kancası kullanın .
B- Kubernetes sıralı güncelleme stratejisinden daha karmaşıklık gerektiren karmaşık bir dağıtımı düzenlemek için bir Eşitleme kancası kullanmak .
C- Dağıtımdan sonra, entegrasyon ve sağlık kontrollerini çalıştırmak için bir PostSync kancası kullanın .
D- Senkronizasyon işlemi başarısız olursa, temizleme veya sonlandırıcı mantığını çalıştırmak için bir SyncFail kancası kullanın . SyncFail için kancalar yalnızca v1.2'de mevcuttur
Benim kullanım durumumda —
Bir End-2-End kurulumu oluşturmam gerekiyor, yani ArgoCD aracılığıyla bir hizmeti dağıttıktan ve bölmelerin çalışır durumda olduğundan emin olduktan sonra, CI/CD işlemimi tamamlamak için hemen birim testini çalıştırmam gerekiyor.
Sonuç olarak, PostSync kancası benim kullanım durumum için uygun.
Dolayısıyla, bu blogda PostSync kanca yapılandırmasını tartışacağız.
Aşağıdaki dosyayı bir kez gözden geçirmeniz yeterlidir.
1 apiVersion: batch/v1
2 kind: Job
3 metadata:
4 name: ms-echoserver-Unit-test-trigger
5 annotations:
6 argocd.argoproj.io/hook: PostSync
7 argocd.argoproj.io/hook-delete-policy: HookSucceeded
8 spec:
9 template:
10 metadata:
11 labels:
12 name: unit-test
13 spec:
14 containers:
15 - name: unit-test
16 args:
17 - /bin/sh
18 - -ec
19 - "curl --location --request POST \"https://api.buildkite.com/v2/organizations/example/pipelines/unit-test/builds\" --header \"Authorization: Bearer ${GITHUB_TOKEN}\" --header \"Content-Type: application/json\"
20 --data-raw '{
21 \"commit\": \"HEAD\",
22 \"branch\": \"main\",
23 \"message\": \"Triggered by ArgoCD post deployment of ms-echoserver :rocket:\"
24 }'"
25 env:
26 - name: GITHUB_TOKEN
27 valueFrom:
28 secretKeyRef:
29 name: ms-echoserver-secret
30 key: token
31
32 image: curlimages/curl
33 restartPolicy: Never
34 backoffLimit: 0
Satır 2 - tür: İş
Kind:job olarak çalıştırıyorum çünkü yalnızca her başarılı hizmet dağıtımından sonra gerekli ve tetiklendiğinde işin görevi tamamlanıyor, yani tür:job benim durumumda doğru tür.
6. Satır: argocd.argoproj.io/hook: PostSync [Kanca açıklaması]
7. Satır: argocd.argoproj.io/hook-delete-policy: HookSucceeded
[Kanca tetiklendiğinde ve iş tamamlandığında silinecektir.]
Satır 19: curl komutu
Curl komutlarını ihtiyaçlarınıza göre düzenleyin. Benim durumumda, birim testimi başlatmak için buildkite aracını kullanıyorum.
curl --location --request POST \"https://api.buildkite.com/v2/organizations/example/pipelines/unit-test-pipeline/builds\" --header \"Authorization: Bearer ${GITHUB_TOKEN}\" --header \"Content-Type: application/json\"
Docker dosyası-
FROM alpine:3.15
RUN apk add --no-cache bash curl jq
ENTRYPOINT ["/bin/bash"]
İpucu: - İhtiyacınız olmayan herhangi bir yazılım veya aracı kurmaktan kaçının; bu, güvenliği sağlamanıza yardımcı olacaktır.
Birim testleri boru hattınızın durumunu aşağıdaki gibi görüntüleyebilirsiniz:
Beni tıkla-
ArgoCD Hepsi Bir Arada Kurulum Kılavuzu.
ArgoCD Yüksek Kullanılabilirlik (HA) [Üretime Hazır].
ArgoCD Gevşek Bildirim Kurulumu
Umarım bu yazı sizin için bilgilendirici ve faydalı olmuştur :)
Benim Tarafımdan Bir Kahve ← — — — Blogdan hoşlanıyorsanız, lütfen bana bir Alkış verin :) ve daha fazla bu tür içerik için beni takip edin .
Alkışlarınız beni bu tür bloglar yazmaya devam etmem için motive ediyor.

![Bağlantılı Liste Nedir? [Bölüm 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































