こんにちは。DevOpsの世界へようこそ。
新しいプロジェクトを立ち上げるたび、「ディレクトリ構成はこれで合ってるかな?」「CIの設定ファイル、前のプロジェクトからコピペして修正しなきゃ…」と悩んだことはありませんか?
その作業、「GitLab Custom Project Templates」を使えば、すべて過去のものになります。
今日は、あなたの組織の「開発の型」をワンクリックで配布し、誰もが初日から最高品質のスタートを切れる仕組みを作る方法を伝授します。これをマスターすれば、あなたは単なるエンジニアから、チームの「開発生産性をデザインするアーキテクト」へと進化できますよ。
—
1. なぜ「テンプレート」が最強の武器なのか
GitLabのCustom Project Templatesは、単なるコードのコピーではありません。「組織が認めたベストプラクティス」を強制的に標準化する仕組みです。
- CI/CDの標準化: テストやデプロイのパイプライン設定が最初から組み込まれている。
- オンボーディングの高速化: 新人が「何から始めればいいか」と迷う時間をゼロにする。
- 技術負債の予防: プロジェクトごとにバラバラな構成になるのを防ぎ、運用コストを下げる。
「同じ構成のリポジトリを10秒で作る」。これだけで、あなたのチームの生産性は劇的に向上します。
—
2. ステップ1:テンプレート用リポジトリの作成
まずは、配布したい構成を持った「マスターリポジトリ」を作りましょう。
1. 新しいプロジェクトを作成し、`template-base-go` のような名前をつけます。
2. 以下のディレクトリ構成を整えます。
.
├── .gitlab-ci.yml # 標準化されたCIパイプライン
├── README.md # この構成の意図と使い方を記載
├── src/ # ソースコードの置き場所
└── docker/ # コンテナ定義
魂を込めた `.gitlab-ci.yml` の例
このファイルが、開発者の代わりにテストやビルドを自動化します。
組織共通のCIテンプレート
stages:
- test
- build
ユニットテストを自動実行
unit-test:
stage: test
script:
- echo “Running unit tests…”
- go test ./…
only:
- merge_requests
ビルド成果物をGitLab Registryへ格納
build-image:
stage: build
script:
- docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
—
3. ステップ2:GitLabへの「テンプレート」登録
作成したリポジトリを、組織全体から見えるテンプレートとして登録します。
1. グループを作成: テンプレート用リポジトリを格納する専用のグループ(例: `templates`)を作成します。
2. グループ設定: `Settings` > `General` > `Templates` へ移動します。
3. カスタムテンプレートの設定: 「Custom project templates」の項目で、先ほど作成したグループを選択して保存します。
これで、あなたの組織の全メンバーが、新しいプロジェクトを作る際に「あなたのテンプレート」を選択できるようになります!
—
4. ステップ3:HelloWorld的な動作確認
準備ができたら、実際に使ってみましょう。
1. GitLabのトップ画面から 「New project」 > 「Create from template」 をクリック。
2. 「Group」タブを選択すると、先ほど設定したテンプレートが表示されます。
3. 「Use template」ボタンを押してプロジェクトを作成。
一瞬で、CI設定もREADMEも整ったプロジェクトが完成しましたね?
あとは `README.md` に書かれた通りにコードを書き始めれば、迷うことはありません。これが、プロの現場の「当たり前」です。
—
5. 先輩からのアドバイス:もっと使いこなすために
ここから先は、あなたのセンス次第です。テンプレートをさらに磨き上げるヒントを置いておきますね。
- READMEを「マニュアル」にする: プロジェクトの立ち上げ時に必ず読んでほしい命名規則や、GitフローのルールをREADMEに記載しておきましょう。
- CIの共通化: `.gitlab-ci.yml` をさらに小さく分割し、`include` を使って「セキュリティスキャン」や「リンター」を強制的に実行させる構成にすると、強固なガバナンスが効きます。
- 常にアップデート: テンプレートは一度作って終わりではありません。チームの知見が増えるたびに、テンプレートも改善し続けてください。
—
まとめ
開発において「車輪の再発明」は悪ではありませんが、「構成の再発明」は単なる無駄です。
GitLabのCustom Project Templatesを活用すれば、あなたは「環境構築」という退屈な作業から解放され、より創造的で、ビジネス価値を生むコードを書くことに集中できます。
今日からあなたの組織に「正しい型」を浸透させましょう。それが、エンジニアリングの未来を作る第一歩ですよ。
また分からないことがあれば、いつでも聞いてくださいね。応援しています!