3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

1.はじめに

2024年7月にCodeCommitの新規利用廃止が発表されたことを受けて、今後のソースコード管理構成を考え直す機会がありました。今回はCodeCommitの代替としてGitLab Self Managedを採用した場合のCodePipeline設定手順を載せます。
GitLab Self ManagedはEC2上でホストすることが可能であり、SaaS版のGitLabと比較すると、ソースコードを外部に持ち出す必要がないというセキュリティ面でのメリットがあります。

目次

  1. はじめに
  2. 前提条件
  3. CodePipeline設定手順
    3-1. ホストの作成
    3-2. 接続の作成
    3-3. CodePipelineの作成
  4. まとめ
  5. 【番外編】GitLab個人用アクセストークンの取得方法

2.前提条件

  • 今回GitLab Self Managedは、EC2上にホストされている前提で話を進めていきます。
    GitLabをこれからインストールする場合は以下の公式サイトを参考にしてください。

3.CodePipeline設定手順

まずは任意のユーザーでAWSマネジメントコンソールへログインしてください。

3-1.ホストの作成

▼デベロッパー用ツールのメニューバーから接続をクリックします。
image.png

ホストを作成をクリックします。
image.png

▼必要な設定値を入力し、ホストを作成をクリックします。

  • ホスト名:任意のホスト名
  • プロバイダー:GitLab Self Managed
  • URL:GitLab Self ManagedのURL
  • VPC設定:非VPC

image.png

注意
ホストに登録できるURLは "https" のみになります。
"http" で登録した場合は【URL の形式が無効です。URL は「https://」で始める必要があります。】という警告が出るので注意しましょう。

HTTPS接続の実現方法
私はApplication Load Balancer (ALB) を作成することでHTTPS接続を実現しました。

▼ホストが作成されたら、ホストをセットアップをクリックし、GitLab Self Managedとホストを同期させます。
image.png

▼ここで個人用アクセストークンを求められます。アクセストークンはGitLab側で払い出したものを登録してください。

GitLabのアクセストークン取得方法はこちら

image.png

▼これでホストの設定は完了です。
image.png

3-2.接続の作成

続いて接続を作成していきます。
▼デベロッパー用ツールのメニューバーから接続を選択した後、接続タブを開きます。その後、接続を作成をクリックします。
image.png

▼必要な項目を入力し、GitLab Self Managedに接続をクリックします。

  • プロバイダー:GitLab Self Managed
  • 接続名:任意の接続名
  • URL:GitLabのURL
  • ホストを選択:先程作成したホストを選択

image.png

▼接続を作成したら、保留中の接続を更新をクリックします。
image.png

▼以下のようなウィンドウが立ち上がるのでAuthorize~をクリックします。

image.png

▼ステータスが利用可能となっていれば設定完了です。
image.png

3-3.CodePipelineの設定

個々からは、CodePipelineの設定を行っていきます。

▼デベロッパー用ツールのメニューバーからパイプラインをクリックします。
image.png

パイプラインの作成をクリックします。
image.png

Build custom pipelineを選択し、次にをクリックします。
image.png

▼CodePipelineの作成に必要な設定値を入力し、次へをクリックします。

  • パイプライン名:任意のパイプライン名
  • 実行モード:キュー(パイプラインV2が必須)
  • サービスロール:新しいサービスロール

image.png
image.png

▼ソースステージの設定を行い、次にをクリックします。
 今回はmainブランチへのプッシュをトリガーにします。

  • ソースプロバイダー:GitLab Self Managed
  • 接続:手順②で作成した接続を選択
  • リポジトリ名:ソースステージとして登録したいリポジトリを選択
  • デフォルトブランチ:任意のブランチを選択(今回はmainブランチを選択)

image.png
image.png

▼今回はBuildステージを設定しないので、ビルドステージをスキップをクリックします。
image.png

▼デプロイステージでは、デプロイ先をS3バケットにし、指定したバケット内にソースコードを展開します。デプロイ設定値を入力した後、次にをクリックします。

  • デプロイプロバイダー:Amazon S3
  • リージョン:デプロイ先のバケットが存在するリージョン
  • 入力アーティファクト:SourceArtifact(デフォルト)
  • バケット:デプロイ先のバケット名
  • S3オブジェクトキー:バケット内に保存する時のファイル名を指定
    デプロイする前にファイルを抽出するにチェックを入れると、zipファイルが解凍された状態でデプロイされます。(詳しくはこちら)
    image.png
    image.png

▼最後に設定値を確認し、問題なければパイプラインを作成するをクリックします。
image.png
(中略)
image.png

▼CodePipelineが作成に成功すると、ソースステージおよびデプロイステージで成功のステータスが表示されます。
image.png

▼デプロイ先のS3バケットを確認すると、zipファイルが作成されています。
image.png

設定手順は以上になります!

4.まとめ

今回GitLab Self ManagedをCodePipelineのソースステージに設定するまでの手順をまとめました。私の中では次の2点が設定するうえでの注意点になるのではないかと思います。

  1. CodePipelineを作成する前にホスト接続を作成する必要がある。
    →GitLabの個人アクセストークンを間違えず登録する
  2. ホストに登録できるURLはHTTPSのみが許可されている。
    →ALBを作成してGitLabサーバーの前に配置する

5.【番外編】GitLab個人用アクセストークンの取得方法

ここからは個人用アクセストークンの取得方法について記載します。ホストのセットアップをする際に参考にしてください。

① GitLabにサインインしたら、ユーザーアイコンから設定を選択します。
image.png

②メニューバーからAccess Tokensを選択します。
image.png

新しいトークンを追加をクリックします。
image.png

④任意のトークン名を入力し、apiにチェックを入れた後、「パーソナルトークンを作成」をクリックします。
image.png

⑤作成したAccess Tokenをコピーします。
※Access Tokenは一度しか表示されないので、忘れずコピーしておきましょう。
image.png

⑥コピーしたAccess TokenをAWSの方で登録します。
 AWS側の設定に戻る

3
0
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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?