Pengait Sumber Daya ArgoCD.
Membantu Dalam pengaturan E2E
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 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.

![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































