1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitLabをセルフホストして個人開発するメリット——IssueからCI/CDまで一気通貫

1
Posted at

はじめに

個人開発で自宅GitLabを使い始めて、思った以上にメリットが多かったのでまとめます。

「GitHubじゃダメなの?」と思うかもしれませんが、自宅やオフィスのサーバーにGitLab CEを立てて動かせるという点が個人開発者にとって大きな差になります。特に自宅KubernetesやCI/CDと組み合わせたときの使い心地が非常に良く、費用・自由度・学習効果のバランスに優れています。


1. Issueボードでタスクを2次元・3次元で整理できる

GitLabのIssueボードを使うと、「まずやること」を視覚的に管理できます。ラベルを組み合わせることで、タスクを2次元・3次元で整理できる点がポイントです。
例えば、・・・

  • 優先度(高・中・低)
  • カテゴリ(機能追加・バグ修正・調査)
  • フェーズ(設計・実装・レビュー)

これらを組み合わせたラベル設計にすれば、「優先度が高くて、今週対応すべき機能追加タスク」のような絞り込みが可能です。

最初から意味のある分類が完璧なラベルは作れません。
それよりも、しばらく使ってから「私はこういうissueを作っているなあ」という傾向が見えてきたらラベルの再編成をすることをおすすめします。


2. マージリクエストで変更差分を確認しながら進められる

優先度の高いIssueを選んで対応し、マージリクエスト(MR)を作成すれば変更差分を確認しながら進められます

  • IssueとMRを紐づけることで、「このコード変更は何のためにしたか」がすぐわかる
  • コードレビューのフローを個人開発でも取り入れやすい
  • 差分コメントで変更理由をメモとして残せる

1人で開発していても、後から振り返ったときに変更の意図が分かる状態を保てます。


3. CI/CDを組み込めばチェックから本番デプロイまでGitLab内で完結できる

GitLabにはCI/CDが標準で組み込まれています。.gitlab-ci.ymlを置くだけで、マージのたびに自動でテストやデプロイが走ります。

image.png

この一連の流れをGitLabだけで完結できます。外部サービスを組み合わせなくても、シンプルなパイプラインならGitLab単体で十分です。

※Claude Codeによる実装/ドキュメント作成について
これまではローカルにcloneしたリポジトリに対してclaudeコマンドで対応していました。
最近は、MR画面のコメントに@ai これを修正してと投稿して対応する(CIでclaudeが動く)ようにしました。いい感じです。


4. 自宅Kubernetesとの相性が抜群

デプロイ先を自宅のKubernetesクラスター(k3sなど)にしている場合、ローカルのGitLabとの相性が非常に良いです

クラウドKubernetesとの比較

クラウドでKubernetesを動かすと、個人開発では固定費が重くなりがちです。

環境 月額コスト 特徴
クラウドKubernetes 数千〜数万円 高可用性、管理不要
自宅Kubernetes 電気代数十円(初期費用は別途必要) 自由度高、管理は自前

まだ収益がないアプリや学習用途であれば、自宅環境で完結できる価値は大きいです。

Raspberry Piならばk3sがおすすめです。k3s公式サイトにもシングルボードコンピュータに最適と記載があります。

ネットワーク面のメリット

  • ローカルIPで閉じていれば、外部への影響を気にせず試しやすい
  • 自宅内通信なので速度面でも有利
  • GitLabとKubernetesが同じネットワークにあれば、デプロイの設定もシンプルになる

外部からGitLabやKubernetes上のアプリに接続したい場合は、リバースプロキシやVPNなどの工夫が必要です。


5. IaCとの相性が良く、メンテナンスしやすい構成を作りやすい

GitLabはInfrastructure as Code(IaC)の考え方と非常に相性が良いです。

  • CI/CDの定義.gitlab-ci.yml)をコードとして管理できる
  • KubernetesのYAMLもリポジトリに置いておける
  • 差分を管理すれば、そのままデプロイにつながる仕組みを作りやすい

「コードを変更したら自動でデプロイされる」という状態を実現すると、手動作業が減りメンテナンスしやすい構成になります。


セルフホスト固有のメリット

オープンソースで導入コストを抑えやすい

GitLab CE(Community Edition)はオープンソースです。商用SaaSと違い、ソフトウェアのライセンスコストがかかりません。サーバーのランニングコスト(電気代など)のみで運用できます。

安心感がある

自分のサーバーでデータを管理するため、クラウドサービスの仕様変更や価格改定の影響を受けにくいです。「サービスが終了したらどうしよう」という不安もありません。

GitLabを運用すること自体が学習になる

  • Docker Composeでのサービス管理
  • バックアップ・リストアの手順
  • Gitサーバーの仕組み
  • CI/CDランナーの設定

これらを自分で管理することで、実務でも使えるスキルが身につきます。


まとめ

image.png

個人で勉強しながら開発・運用する環境としては、価格・自由度・導入のしやすさのバランスが良いのがGitLabのセルフホストです。

まずはオープンソース版(CE)で始めて、必要になれば後からクラウドへ移行するという選択肢もあります。自宅サーバーやRaspberry Piがあれば、ぜひ試してみてください。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?