Pengait Sumber Daya ArgoCD.

Jan 12 2023
Membantu dalam penyiapan E2E Beberapa kasus Penggunaan untuk kait adalah: A- Sebelum menerapkan versi baru aplikasi, gunakan kait PreSync untuk melakukan migrasi skema basis data. B- Menggunakan kait Sinkronisasi untuk mengatur penyebaran kompleks yang membutuhkan lebih banyak kecanggihan daripada strategi pembaruan bergulir Kubernetes.

Membantu Dalam pengaturan E2E

Argo + Kait

Beberapa kasus Penggunaan untuk kait adalah:

J- Sebelum menerapkan versi baru aplikasi, gunakan pengait PreSync untuk melakukan migrasi skema database.

B- Menggunakan kait Sinkronisasi untuk mengatur penyebaran kompleks yang membutuhkan lebih banyak kecanggihan daripada strategi pembaruan bergulir Kubernetes.

C- Setelah penerapan, gunakan pengait PostSync untuk menjalankan pemeriksaan integrasi dan kesehatan.

D- Jika operasi Sinkronisasi gagal, gunakan hook SyncFail untuk menjalankan logika pembersihan atau finalizer. Pengait untuk SyncFail hanya tersedia di v1.2

Dalam kasus penggunaan saya —

Saya perlu membuat penyiapan End-2-End, yang berarti bahwa setelah menerapkan layanan melalui ArgoCD dan memastikan bahwa pod beroperasi, saya harus segera menjalankan pengujian unit untuk menyelesaikan proses CI/CD saya.

Hasilnya, pengait PostSync cocok untuk kasus penggunaan saya.

Nah, di blog ini kita akan membahas konfigurasi hook PostSync.

Cukup telusuri file di bawah ini sekali.

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

Baris 2 — jenis: Pekerjaan

Saya menjalankannya sebagai kind:job karena hanya diperlukan setelah setiap penerapan layanan yang berhasil, dan setelah dipicu, tugas job selesai, jadi kind:job adalah jenis yang tepat dalam kasus saya.

Baris 6 : argocd.argoproj.io/hook: PostSync [anotasi pengait]

Baris 7: argocd.argoproj.io/hook-delete-policy: HookSucceeded

[Setelah kait dipicu dan pekerjaan selesai, itu akan dihapus.]

Baris 19: perintah curl

Edit perintah Curl agar sesuai dengan kebutuhan Anda. Dalam situasi saya, saya menggunakan alat buildkite untuk memulai pengujian unit saya.

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\"

File Docker-

FROM alpine:3.15

RUN apk add --no-cache bash curl jq

ENTRYPOINT ["/bin/bash"]

Kiat:- Hindari menginstal perangkat lunak atau alat apa pun yang tidak Anda perlukan; ini akan membantu Anda menjaga keamanan.

Anda dapat melihat status pipeline pengujian unit sebagai berikut:

Klik Saya-

Panduan Penyiapan ArgoCD All-in-One.

ArgoCD Ketersediaan Tinggi (HA) [Siap Produksi].

Pengaturan Ingress ArgoCD

Pengaturan Okta ArgoCD.

Pembaru Gambar ArgoCD

Pengaturan Notifikasi ArgoCD Slack

Semoga postingan ini informatif dan bermanfaat bagi anda :)

Oleh saya Kopi ← — — — Jika Anda menikmati blog ini, tolong beri saya Clap :) dan Ikuti saya untuk konten lainnya .

Tepuk tangan Anda memotivasi saya untuk terus menulis blog semacam itu.