<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Github - Tag - Dimas Maulana</title>
    <link>https://dimasmaulana.pages.dev/tags/github/</link>
    <description>Dimas Maulana Website</description>
    <generator>Hugo 0.150.0 &amp; FixIt v0.4.3-20260130042349-e23a50d7</generator>
    <language>en</language>
    <lastBuildDate>Tue, 06 Jun 2023 06:47:00 +0700</lastBuildDate>
    <atom:link href="https://dimasmaulana.pages.dev/tags/github/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Naming Conventions for Production Environments</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-for-production-environments-/</link>
      <pubDate>Tue, 06 Jun 2023 06:47:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-for-production-environments-/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Naming conventions are a crucial aspect of software development, providing consistency and clarity in various stages of the development lifecycle. In this article, we will explore the most common naming conventions for production environments, focusing on GitLab CI/CD, GitHub Actions, domain names, branch names, Docker Compose files, and Dockerfile names.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Naming&lt;/th&gt;&#xA;          &lt;th&gt;Common Convention&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitLab CI/CD Convention&lt;/td&gt;&#xA;          &lt;td&gt;prod&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitHub Actions Convention&lt;/td&gt;&#xA;          &lt;td&gt;prod&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Domain Names&lt;/td&gt;&#xA;          &lt;td&gt;example.com&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Branch Names&lt;/td&gt;&#xA;          &lt;td&gt;main/master&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Docker Compose Files&lt;/td&gt;&#xA;          &lt;td&gt;docker-compose.yml&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Dockerfile Names&lt;/td&gt;&#xA;          &lt;td&gt;Dockerfile&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;gitlab-cicd-convention&#34;&gt;&lt;span&gt;GitLab CI/CD Convention&lt;/span&gt;&#xA;  &lt;a href=&#34;#gitlab-cicd-convention&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;In GitLab CI/CD, the convention for naming pipeline stages in production environments commonly involves using &amp;ldquo;prod&amp;rdquo; as the keyword. This convention ensures that pipeline stages are easily identifiable and aligned with the production deployment process.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Naming Conventions for Development Environments</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-for-development-environments-/</link>
      <pubDate>Tue, 06 Jun 2023 06:45:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-for-development-environments-/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Naming conventions play a vital role in software development environments, providing consistency and clarity throughout the development process. In this article, we will explore the most common naming conventions for development environments, covering GitLab CI/CD, GitHub Actions, domain names, branch names, Docker Compose files, and Dockerfile names.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Naming&lt;/th&gt;&#xA;          &lt;th&gt;Common Convention&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitLab CI/CD Convention&lt;/td&gt;&#xA;          &lt;td&gt;dev&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitHub Actions Convention&lt;/td&gt;&#xA;          &lt;td&gt;dev&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Domain Names&lt;/td&gt;&#xA;          &lt;td&gt;dev.example.com&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Branch Names&lt;/td&gt;&#xA;          &lt;td&gt;dev&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Docker Compose Files&lt;/td&gt;&#xA;          &lt;td&gt;docker-compose.dev.yml&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Dockerfile Names&lt;/td&gt;&#xA;          &lt;td&gt;Dockerfile.dev&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;gitlab-cicd-convention&#34;&gt;&lt;span&gt;GitLab CI/CD Convention&lt;/span&gt;&#xA;  &lt;a href=&#34;#gitlab-cicd-convention&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;When working with GitLab CI/CD, the most common convention for naming pipeline stages in development environments is to use &amp;ldquo;dev&amp;rdquo; as the keyword. This convention ensures compatibility and alignment with GitLab CI/CD&amp;rsquo;s pipeline system.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Naming Conventions Stage vs Staging in Software Development</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-stage-vs-staging-in-software-development/</link>
      <pubDate>Tue, 06 Jun 2023 06:24:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/naming-conventions-stage-vs-staging-in-software-development/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Naming conventions play a crucial role in software development, providing clarity and consistency in various aspects of the development lifecycle. When it comes to naming environments, such as staging, development, and production, there can be variations and debates around the usage of &amp;ldquo;stage&amp;rdquo; and &amp;ldquo;staging.&amp;rdquo; In this article, we&amp;rsquo;ll explore the differences and common practices surrounding these terms.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;defining-staging-and-development-environments&#34;&gt;&lt;span&gt;Defining Staging and Development Environments&lt;/span&gt;&#xA;  &lt;a href=&#34;#defining-staging-and-development-environments&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Naming&lt;/th&gt;&#xA;          &lt;th&gt;Common Convention&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitLab CI/CD Convention&lt;/td&gt;&#xA;          &lt;td&gt;stage&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;GitHub Actions Convention&lt;/td&gt;&#xA;          &lt;td&gt;staging&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Domain Names&lt;/td&gt;&#xA;          &lt;td&gt;staging.example.com&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Branch Names&lt;/td&gt;&#xA;          &lt;td&gt;staging&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Docker Compose Files&lt;/td&gt;&#xA;          &lt;td&gt;docker-compose.staging.yml&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Dockerfile Names&lt;/td&gt;&#xA;          &lt;td&gt;Dockerfile.staging&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Staging environments are integral to the software development process, serving as a dedicated space for testing and validation before deploying to production. In most cases, &amp;ldquo;staging&amp;rdquo; is commonly used as a noun to represent this environment. It refers to a stable and controlled testing area where developers can ensure their applications are functioning correctly and meet the required standards.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Categorizing GitHub Issues by Size and Pomodoro Estimation</title>
      <link>https://dimasmaulana.pages.dev/posts/productivity/categorizing-github-issues-by-size-and-pomodoro-estimation/</link>
      <pubDate>Wed, 24 May 2023 10:17:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/productivity/categorizing-github-issues-by-size-and-pomodoro-estimation/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/productivity/">Productivity</category>
      <description>&lt;p&gt;Efficient project management is crucial for successful software development, and accurately estimating the size and duration of GitHub issues is a key component. By categorizing issues based on their size and estimating their duration using the Pomodoro Technique, development teams can effectively plan, prioritize, and allocate resources. This article explores a framework for categorizing GitHub issues into different sizes and provides guidelines for estimating their durations using Pomodoros.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;categorizing-issue-sizes&#34;&gt;&lt;span&gt;Categorizing Issue Sizes&lt;/span&gt;&#xA;  &lt;a href=&#34;#categorizing-issue-sizes&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Issue Size&lt;/th&gt;&#xA;          &lt;th&gt;Description&lt;/th&gt;&#xA;          &lt;th&gt;Pomodoro Estimate&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Tiny&lt;/td&gt;&#xA;          &lt;td&gt;Small and straightforward task&lt;/td&gt;&#xA;          &lt;td&gt;1 Pomodoro (25 minutes)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Small&lt;/td&gt;&#xA;          &lt;td&gt;Requires moderate effort and is relatively simple&lt;/td&gt;&#xA;          &lt;td&gt;2-4 Pomodoros (50 minutes to 2 hours)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Medium&lt;/td&gt;&#xA;          &lt;td&gt;Moderate effort, non-trivial task&lt;/td&gt;&#xA;          &lt;td&gt;4-8 Pomodoros (2 to 4 hours)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Large&lt;/td&gt;&#xA;          &lt;td&gt;Substantial effort, significant work&lt;/td&gt;&#xA;          &lt;td&gt;8-16 Pomodoros (4 to 8 hours)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;X-Large&lt;/td&gt;&#xA;          &lt;td&gt;Major undertaking, complex features or systems&lt;/td&gt;&#xA;          &lt;td&gt;More than 16 Pomodoros (8+ hours)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;To establish a common understanding within the development team, let&amp;rsquo;s use the following framework for categorizing GitHub issue sizes:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Translating the Eisenhower Priority Matrix into GitHub Priorities</title>
      <link>https://dimasmaulana.pages.dev/posts/productivity/translating-the-eisenhower-priority-matrix-into-github-priorities/</link>
      <pubDate>Wed, 24 May 2023 09:52:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/productivity/translating-the-eisenhower-priority-matrix-into-github-priorities/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/productivity/">Productivity</category>
      <description>&lt;p&gt;The Eisenhower Priority Matrix is a popular tool for organizing tasks based on their importance and urgency. By categorizing tasks into four quadrants, it provides a visual representation of priorities. However, when it comes to managing tasks in a GitHub repository, it is useful to have a clear mapping of these priorities into default labels. In this article, we will explore how to translate the Eisenhower Priority Matrix into GitHub priority labels to effectively manage and prioritize tasks.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Clone Multiple Github Repositories With Different Deployment Keys But The Same Username</title>
      <link>https://dimasmaulana.pages.dev/posts/devops/clone-multiple-github-repositories-with-different-deployment-keys-but-the-same-username-copy/</link>
      <pubDate>Fri, 05 May 2023 08:20:00 +0700</pubDate>
      <guid>https://dimasmaulana.pages.dev/posts/devops/clone-multiple-github-repositories-with-different-deployment-keys-but-the-same-username-copy/</guid>
      <category domain="https://dimasmaulana.pages.dev/categories/devops/">DevOps</category>
      <description>&lt;p&gt;Cloning multiple GitHub repositories with different deployment keys can be useful when you need to access multiple repositories using different SSH keys associated with the same GitHub account. This guide provides step-by-step instructions on how to clone multiple repositories with different deployment keys while using the same username. By following these steps, you can streamline your workflow and manage multiple repositories more efficiently.&lt;/p&gt;&#xA;&lt;h2 class=&#34;heading-element&#34; id=&#34;step-1-generate-deployment-keys&#34;&gt;&lt;span&gt;Step 1: Generate Deployment Keys&lt;/span&gt;&#xA;  &lt;a href=&#34;#step-1-generate-deployment-keys&#34; class=&#34;heading-mark&#34;&gt;&#xA;    &lt;svg class=&#34;octicon octicon-link&#34; viewBox=&#34;0 0 16 16&#34; version=&#34;1.1&#34; width=&#34;16&#34; height=&#34;16&#34; aria-hidden=&#34;true&#34;&gt;&lt;path d=&#34;m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z&#34;&gt;&lt;/path&gt;&lt;/svg&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&lt;p&gt;To begin, generate a deployment key for each repository you want to clone. Use the &lt;code&gt;ssh-keygen&lt;/code&gt; command on your local machine to create a unique key for each repository.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
