<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>GitHub on Mexicali IT</title><link>https://mxlit.com/technologies/github/</link><description>Recent content in GitHub on Mexicali IT</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 16 Mar 2026 00:00:01 -0700</lastBuildDate><atom:link href="https://mxlit.com/technologies/github/index.xml" rel="self" type="application/rss+xml"/><item><title>GitHub: Hybrid Cloud CI/CD - Building a Zero-Downtime Pipeline with Self-Hosted Runners</title><link>https://mxlit.com/kb-00073/</link><pubDate>Mon, 16 Mar 2026 00:00:01 -0700</pubDate><guid>https://mxlit.com/kb-00073/</guid><description>&lt;h3 id="introduction-the-evolution-of-a-pipeline"&gt;Introduction: The Evolution of a Pipeline&lt;/h3&gt;
&lt;p&gt;In the previous posts of this series, I detailed my journey from a broken, 25-minute SFTP deployment bottleneck to a hyper-optimized &lt;strong&gt;Rsync&lt;/strong&gt; pipeline that completes in mere seconds. But optimization is only half the battle in Enterprise Architecture. The other half is &lt;strong&gt;Resiliency&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Currently, my pipeline relies entirely on Microsoft&amp;rsquo;s GitHub Cloud infrastructure. While GitHub Actions provides 2,000 free CI/CD minutes per month, relying 100% on external compute resources violates a core principle of self-hosting: &lt;em&gt;Control&lt;/em&gt;. What happens if I burn through my free tier limits during intense development weeks? What if GitHub&amp;rsquo;s shared runner queues are experiencing an outage?&lt;/p&gt;</description></item><item><title>GitHub Actions: Optimizing CI/CD Deployments (From SFTP to Rsync)</title><link>https://mxlit.com/kb-00070/</link><pubDate>Thu, 12 Mar 2026 16:41:54 -0700</pubDate><guid>https://mxlit.com/kb-00070/</guid><description>&lt;h3 id="introduction-the-hidden-cost-of-it-just-works"&gt;Introduction: The Hidden Cost of &amp;ldquo;It Just Works&amp;rdquo;&lt;/h3&gt;
&lt;p&gt;When I first migrated this Knowledge Base to Hugo and set up a CI/CD pipeline using GitHub Actions, my primary goal was simplicity. I needed a way to push my Markdown files to GitHub and have a runner automatically compile the static HTML and send it to my Nginx container hosted on a remote VPS.&lt;/p&gt;
&lt;p&gt;To achieve this, I used a popular, off-the-shelf SFTP Deployment Action. For the first few days, it was magical. I would commit a new post, and within &lt;strong&gt;2 minutes&lt;/strong&gt;, the site was live.&lt;/p&gt;</description></item><item><title>GitHub: Guide to Deploying Hugo CI-CD to a Server with GitHub Actions Monorepo</title><link>https://mxlit.com/kb-00044/</link><pubDate>Wed, 04 Mar 2026 21:15:00 -0800</pubDate><guid>https://mxlit.com/kb-00044/</guid><description>&lt;p&gt;&lt;strong&gt;Objective:&lt;/strong&gt; Eliminate the manual process of compiling and copying the &lt;code&gt;public/&lt;/code&gt; folder to the server. We will implement a pipeline that, upon detecting a &lt;code&gt;git push&lt;/code&gt; on the main branch, compiles the site and transfers it securely via SFTP using SSH keys.&lt;/p&gt;
&lt;h2 id="security-least-privilege-implementation"&gt;&lt;em&gt;Security: Least Privilege Implementation&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;In real production environments, we do not use root. Deployment is performed with a restricted user who only has access to their own home directory. This adds a vital layer of security: if the CI/CD process is compromised, the attacker is trapped in a &amp;ldquo;cage&amp;rdquo; within the user&amp;rsquo;s $HOME directory.&lt;/p&gt;</description></item></channel></rss>