ArgoCD Kaynak Kancaları.

Jan 12 2023
E2E kurulumunda Yardım Edildi 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.

E2E kurulumunda yardımcı oldu

Argo + Kancalar

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 Giriş Kurulumu

ArgoCD Okta Kurulumu.

ArgoCD Görüntü güncelleyici

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.