<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cicd on Dagimal (⌐ ͡■ ͜ʖ ͡■)</title><link>https://dagimal.com/blog/cicd/</link><description>Recent content in Cicd on Dagimal (⌐ ͡■ ͜ʖ ͡■)</description><generator>Hugo</generator><language>en-US</language><copyright>Copyright © 2024, Dagimal.</copyright><lastBuildDate>Tue, 07 Apr 2026 17:00:00 +0700</lastBuildDate><atom:link href="https://dagimal.com/blog/cicd/index.xml" rel="self" type="application/rss+xml"/><item><title>ArgoCD: CI Cukup Build, Urusan Deploy Serahin ke Git</title><link>https://dagimal.com/blog/argocd-gitops/</link><pubDate>Tue, 07 Apr 2026 17:00:00 +0700</pubDate><guid>https://dagimal.com/blog/argocd-gitops/</guid><description>&lt;p&gt;Kalau kita bicara &lt;em&gt;CI/CD&lt;/em&gt;, kebanyakan orang masih sering campur aduk antara proses &lt;em&gt;CI&lt;/em&gt; dan &lt;em&gt;CD&lt;/em&gt; dalam satu &lt;em&gt;pipeline&lt;/em&gt;. Build &lt;em&gt;image&lt;/em&gt;, push ke &lt;em&gt;registry&lt;/em&gt;, terus langsung &lt;em&gt;deploy&lt;/em&gt; ke &lt;em&gt;Kubernetes&lt;/em&gt; dalam satu alur. Kelihatannya simpel, tapi ada beberapa masalah yang muncul seiring waktu:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Pipeline&lt;/em&gt; jadi satu titik kegagalan. Kalau ada yang salah di proses &lt;em&gt;deploy&lt;/em&gt;, susah dipisahkan dari proses &lt;em&gt;build&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Tidak ada &lt;em&gt;audit trail&lt;/em&gt; yang jelas siapa yang trigger &lt;em&gt;deploy&lt;/em&gt; dan kapan&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Rollback&lt;/em&gt; butuh re-run &lt;em&gt;pipeline&lt;/em&gt;, padahal seharusnya cukup balik ke versi sebelumnya&lt;/li&gt;
&lt;li&gt;&lt;em&gt;CI pipeline&lt;/em&gt; butuh akses langsung ke &lt;em&gt;Kubernetes cluster&lt;/em&gt;, yang berarti ada &lt;em&gt;credential&lt;/em&gt; cluster yang disimpan di &lt;em&gt;CI system&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;ArgoCD&lt;/em&gt; hadir dengan pendekatan &lt;em&gt;GitOps&lt;/em&gt;: &lt;strong&gt;sumber kebenaran untuk kondisi &lt;em&gt;cluster&lt;/em&gt; adalah &lt;em&gt;Git repository&lt;/em&gt;&lt;/strong&gt;. &lt;em&gt;ArgoCD&lt;/em&gt; yang akan watch &lt;em&gt;repo&lt;/em&gt;, dan kalau ada perbedaan antara yang ada di &lt;em&gt;Git&lt;/em&gt; dengan yang berjalan di &lt;em&gt;cluster&lt;/em&gt;, dia akan sync otomatis atau minta kita untuk sync manual.&lt;/p&gt;</description></item><item><title>CI/CD in a Nutshell: Deploy Otomatis Tanpa Repot</title><link>https://dagimal.com/blog/cicd-nutshell/</link><pubDate>Tue, 07 Apr 2026 11:45:00 +0700</pubDate><guid>https://dagimal.com/blog/cicd-nutshell/</guid><description>&lt;p&gt;Jadi, bayangkan dulu scenario ini: kita habis selesai coding feature baru, test lokal ternyata jalan, tapi pas di-push ke &lt;em&gt;production&lt;/em&gt; malah error. Kenapa? Karena &lt;em&gt;environment&lt;/em&gt; production beda, &lt;em&gt;dependency&lt;/em&gt; yang terinstall beda, atau kita lupa run &lt;em&gt;migration&lt;/em&gt; database. Panik deh.&lt;/p&gt;
&lt;p&gt;Nah, &lt;em&gt;CI/CD&lt;/em&gt; ini basically adalah cara kita mengotomatisasi supaya scenario kacau gitu gak terjadi. Daripada kita manually test, build, dan deploy (yang biasanya error-prone dan butuh effort besar), &lt;strong&gt;kita biarkan automation tools yang handle semuanya&lt;/strong&gt;.&lt;/p&gt;</description></item></channel></rss>