<?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 Experiment, Fail, Learn, Repeat</title>
    <link>https://www.hairizuan.com/tags/cicd/</link>
    <description>Recent content in Cicd on Experiment, Fail, Learn, Repeat</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>Copyright © 2026 Hairizuan Noorazman</copyright>
    <lastBuildDate>Tue, 08 Jul 2025 01:53:50 +0800</lastBuildDate><atom:link href="https://www.hairizuan.com/tags/cicd/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Solving the File Sync Bottleneck in tests: How Torrenting Could Be the Answer - Part 1</title>
      <link>https://www.hairizuan.com/solving-the-file-sync-bottleneck-in-tests-how-torrenting-could-be-the-answer-part-1/</link>
      <pubDate>Tue, 01 Jul 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.hairizuan.com/solving-the-file-sync-bottleneck-in-tests-how-torrenting-could-be-the-answer-part-1/</guid>
      <description>&lt;p&gt;At my job, one recurring technical challenge has been syncing massive files—often ranging from 10GB to 20GB—across multiple servers. We&amp;rsquo;re essentially copying over large iso files around to various servers. The current process still somewhat works but it is bandwidth-intensive, and increasingly difficult to manage as our the number of servers we need to sync this large file grows. Traditional solutions like rsync or SCP work, but they don&amp;rsquo;t scale well when the same file needs to be pushed to dozens of machines.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>GKE as Gitlab Runner</title>
      <link>https://www.hairizuan.com/gke-as-gitlab-runner/</link>
      <pubDate>Tue, 08 Apr 2025 00:00:00 +0000</pubDate>
      
      <guid>https://www.hairizuan.com/gke-as-gitlab-runner/</guid>
      <description>&lt;p&gt;Part of my job involves me dealing with Gitlab on a daily basis. Gitlab is a complicated beast to handle and it took a while to get around the various features that the product offers. One of the offerings available is one where we can set an entire Kubernetes cluster as a potential target where we can then create containers and run tests on said cluster.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Connect Slaves Jenkins configured with JCasC - Docker</title>
      <link>https://www.hairizuan.com/connect-slaves-jenkins-configured-with-jcasc-docker/</link>
      <pubDate>Wed, 10 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.hairizuan.com/connect-slaves-jenkins-configured-with-jcasc-docker/</guid>
      <description>&lt;p&gt;This is a continuation of the previous blog post for automating Jenkins server setup. The previous setup only created a setup for a single node Jenkins build server farm. This definitely won&amp;rsquo;t be sufficient for larger teams where they would be building applications and running workflows on a more frequent basis. Refer to the page: &lt;a href=&#34;https://www.hairizuan.com/automating-jenkins-initial-setup&#34; &gt;Automating Jenkins Initial Setup&lt;/a&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Automating Jenkins Initial Setup</title>
      <link>https://www.hairizuan.com/automating-jenkins-initial-setup/</link>
      <pubDate>Wed, 03 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.hairizuan.com/automating-jenkins-initial-setup/</guid>
      <description>&lt;p&gt;Jenkins, a pretty popular Continuous Integration/Continuous Deployment (CI/CD) build tool, plays a pivotal role in automating the software development/deployment process. Over the years, Jenkins has evolved to become an extremely versatile automation server that facilitates continuous integration and delivery by orchestrating the building, testing, and deployment of code. Its extensibility through a vast array of plugins makes it adaptable to various environments and development workflows.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Building RPMs and storing it in Artifact Registry</title>
      <link>https://www.hairizuan.com/building-rpms-and-storing-it-in-artifact-registry/</link>
      <pubDate>Wed, 27 Dec 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.hairizuan.com/building-rpms-and-storing-it-in-artifact-registry/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;Introduction&#xA;    &lt;div id=&#34;introduction&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#introduction&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;When one mentions about application packaging - the usual first thought that can cross a person&amp;rsquo;s mind is how the application would be packaged in docker containers. That is a somewhat fair thing to think about - containers have gotten pretty common in developer circles. Tools such as docker or podman make it especially simple to write a simple straight forward file that would include their application file into a nice package. With this nice package - the people that are involved with running it production environments would only deal with a single artifact.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Github actions for shopping list application</title>
      <link>https://www.hairizuan.com/github-actions-for-shopping-list-application/</link>
      <pubDate>Wed, 20 Dec 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.hairizuan.com/github-actions-for-shopping-list-application/</guid>
      <description>&lt;p&gt;I have a basic shopping list application that is available in the following code base: &lt;a href=&#34;https://github.com/hairizuanbinnoorazman/Go_Programming/tree/master/Apps/shopping-list&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;https://github.com/hairizuanbinnoorazman/Go_Programming/tree/master/Apps/shopping-list&lt;/a&gt;. This is a simple Golang application that also embeds a generated javascripts that has been transpiled into Javascript files. We can then embed the required CSS, Javascript and HTML files that would be the frontend of the shopping list. The frontend would then call some backend apis that would simply store shopping list items into some form of datastore - which in this case, is Google Cloud Datastore (a NoSQL database)&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Using Terraform for deploying databases and applications in Google Cloud</title>
      <link>https://www.hairizuan.com/using-terraform-for-deploying-databases-and-applications-in-google-cloud/</link>
      <pubDate>Wed, 13 Dec 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.hairizuan.com/using-terraform-for-deploying-databases-and-applications-in-google-cloud/</guid>
      <description>&lt;p&gt;Over the past few months, I have been toying with the idea of going all in with Ansible or all in with Terraform. Both tools are pretty popular tools when it comes to application and tools deployment. After tinkering around, I eventually somewhat come to conclusion where Terraform would be the &amp;ldquo;better&amp;rdquo; tool here. The main reason for this all comes down to this: &lt;a href=&#34;https://github.com/ansible-collections/google.cloud/issues/301&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;https://github.com/ansible-collections/google.cloud/issues/301&lt;/a&gt; - it seems that Ansible is not as &amp;ldquo;supported&amp;rdquo; as Terraform - and the more it seems that there are certain features that I may want to use to be missing. Rather than continue tinkering and hoping that something would happen (sometimes, these kind of code would never be resolved/fixed - it&amp;rsquo;s possible for me to dig into it to try to solve but I don&amp;rsquo;t feel like investing into this particular tool in depth)&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss>
