<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Gitlab on Gerard Samuel</title><link>https://gerardsamuel.me/tags/gitlab/</link><description>Recent content in Gitlab on Gerard Samuel</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Mon, 25 Nov 2024 13:20:59 -0500</lastBuildDate><atom:link href="https://gerardsamuel.me/tags/gitlab/index.xml" rel="self" type="application/rss+xml"/><item><title>Google Cloud Workload Identities with GitLab</title><link>https://gerardsamuel.me/posts/how-to-configure-google-cloud-workload-identities-with-gitlab/</link><pubDate>Mon, 25 Nov 2024 13:20:59 -0500</pubDate><guid>https://gerardsamuel.me/posts/how-to-configure-google-cloud-workload-identities-with-gitlab/</guid><description>&lt;p&gt;Using JSON keys to authenticate with Google Cloud is highly frowned upon. Unless you have no other &lt;a href="https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys" target="_blank" rel="noreferrer"&gt;option&lt;/a&gt;, Google Cloud provides a more secure means of authenticating externally executed code. My use case is for authentication in GitLab pipelines so that I can automate tasks. Think Terraform jobs or updating the files for a website stored in a Google Cloud storage bucket. I will use Google Cloud&amp;rsquo;s Workload Identity Federation solution and the OIDC (Open ID Connect) &lt;a href="https://openid.net/developers/how-connect-works/" target="_blank" rel="noreferrer"&gt;protocol&lt;/a&gt; in this solution.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://gerardsamuel.me/posts/how-to-configure-google-cloud-workload-identities-with-gitlab/featured.png"/></item><item><title>How to setup a self-managed Podman Gitlab Runner</title><link>https://gerardsamuel.me/posts/how-to-setup-self-managed-podman-gitlab-runner/</link><pubDate>Mon, 18 Nov 2024 20:24:17 -0500</pubDate><guid>https://gerardsamuel.me/posts/how-to-setup-self-managed-podman-gitlab-runner/</guid><description>&lt;p&gt;I want to get my hands dirty with &lt;a href="https://en.wikipedia.org/wiki/CI/CD" target="_blank" rel="noreferrer"&gt;CI/CD&lt;/a&gt;. After looking around at cloud-hosted options such as Google Cloud Build and Azure DevOps/Pipelines, I decided to keep this process local by leveraging self-managed &lt;a href="https://docs.gitlab.com/ee/ci/pipelines/" target="_blank" rel="noreferrer"&gt;GitLab CI/CD pipelines&lt;/a&gt;.
To run a GitLab pipeline, you need only a special configuration file, &lt;code&gt;.gitlab-ci.yml&lt;/code&gt;, at the root of your GitLab project/repository and at least one or more compute resources to execute jobs. In this article, I will discuss how I set up a &lt;a href="https://docs.gitlab.com/runner/" target="_blank" rel="noreferrer"&gt;GitLab runner&lt;/a&gt; using &lt;a href="https://podman.io" target="_blank" rel="noreferrer"&gt;Podman&lt;/a&gt;.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://gerardsamuel.me/posts/how-to-setup-self-managed-podman-gitlab-runner/featured.png"/></item></channel></rss>