<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Harbor on Clarence｜Backend・AI・DevOps・Infrastructure</title>
    <link>https://clarence.tw/ja/tags/harbor/</link>
    <description>Recent content in Harbor on Clarence｜Backend・AI・DevOps・Infrastructure</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ja</language>
    <lastBuildDate>Mon, 26 Oct 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://clarence.tw/ja/tags/harbor/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Self-hosted GitLab、Runner、Harbor：ソースコードからデプロイまでの CI/CD フロー</title>
      <link>https://clarence.tw/ja/posts/self-hosted-gitlab-runner-harbor/</link>
      <pubDate>Mon, 26 Oct 2026 00:00:00 +0800</pubDate>
      
      <guid>https://clarence.tw/ja/posts/self-hosted-gitlab-runner-harbor/</guid>
      <description>&lt;p&gt;2022 年から、Operator として Self-hosted GitLab、GitLab Runner、Harbor registry、CI/CD workflow を構築・運用し、source code、container image、deployment をひとつの流れにつないでいます。&lt;/p&gt;
&lt;p&gt;この記事は設定手順の解説ではありません。&lt;code&gt;.gitlab-ci.yml&lt;/code&gt;、Runner のデプロイ、複数環境へのデプロイの例は &lt;a href=&#34;https://clarence.tw/ja/posts/gitlab-cicd-complete-guide/&#34;&gt;GitLab CI/CD 設定ガイド：Runner、.gitlab-ci.yml、Harbor、デプロイ&lt;/a&gt; に、&lt;code&gt;config.toml&lt;/code&gt; の設定項目とよく使う変数は &lt;a href=&#34;https://clarence.tw/ja/notes/gitlab/runner-config/&#34;&gt;GitLab Runner config.toml 設定とよく使う CI/CD 変数&lt;/a&gt; にまとめています。ここで扱うのはもう一方の側面です。なぜこの仕組みを自分たちで持つのか、各コンポーネントをどうつなぐのか、そして数年運用して実際に時間がかかるのはどこか。文中の問題には、当時 &lt;a href=&#34;https://blog.clarence.tw/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;blog.clarence.tw&lt;/a&gt; に書いた記録へのリンクを付けています。&lt;/p&gt;
&lt;h2 id=&#34;セルフホストを検討する理由&#34;&gt;セルフホストを検討する理由&lt;/h2&gt;
&lt;p&gt;GitLab.com や各クラウドの registry は十分に成熟しており、セルフホストが標準の答えというわけではありません。セルフホストに向かうのは、たいてい次のような検討事項が重なったときです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;コードとデータの置き場所&lt;/strong&gt;：source code、image、build log を自分たちが管理できる環境に置く必要があるチームもあります。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ネットワーク環境&lt;/strong&gt;：デプロイ先がオンプレミスや内部ネットワークにある場合、Runner と registry を同じ側に置くと build や image pull の経路が短くなり、外向き通信も管理しやすくなります。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Runner のリソース&lt;/strong&gt;：特定のハードウェア、OS、大きな build リソースが必要な job は、自前の Runner のほうが割り当てやすくなります。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;既存システムとの連携&lt;/strong&gt;：既存のアカウント管理、監視、バックアップの仕組みと接続する必要があります。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;代償もはっきりしています。アップグレード、バックアップ、証明書、署名鍵、ディスク容量、障害対応がすべて自分たちの仕事になります。セルフホストを決める前に、その仕事を長期的に引き受ける人がいるかを確認しておくべきです。&lt;/p&gt;
&lt;h2 id=&#34;全体の流れ&#34;&gt;全体の流れ&lt;/h2&gt;
&lt;p&gt;流れはひとことで言えます。コードを GitLab に入れ、Runner が pipeline に従って build とテストを行い、できた container image を Harbor に push し、デプロイ環境が Harbor から image を pull します。&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>
