はじめに
2021年頃からAnsible実行環境のコンテナ化が進んできています。今回は、Amazon EC2を用いて、GitLab Runner経由でAnsible実行環境のコンテナイメージを使用可能にするまでの流れを紹介します。
第1章では「GitLabの構築」を実施します。
TL;DR
- GitLab構築手順はRHELやGitLabのバージョンにより異なるため、必要に応じて公式ドキュメントを確認する
前提条件
- AWSでEC2インスタンスの作成方法がわかること
実行環境
- Red Hat Enterprise Linux: 9.2
- GitLab: v16.7.0-ee
- Python: 3.9.16
詳細
1. EC2インスタンスの作成
- AWSにログインする
- [サービス] -> [EC2] を選択する
- [インスタンスを起動] を選択し、以下の条件でEC2インスタンスを起動する
- Amazon マシンイメージ (AMI)
- RHEL-9.2.0_HVM-20230503-x86_64-41-Hourly2-GP2
- インスタンスタイプ
- t2.xlarge(任意)
- Gitlab > Installation system requirements記載の機能要件にもとづいて選択
- スペックが低すぎるとGitLabのインストール中に止まることがある
- t2.xlarge(任意)
- セキュリティグループ
- インバウンドルールにて、SSHとHTTPの通信を許可
- Amazon マシンイメージ (AMI)
2. GitLabのインストール
-
ターミナルソフト(Tera Termなど)でサーバーにログインする
- IP Address
- <GitLab Global IPv4 Address>
- user
- ec2-user
RHEL9に対してRSA鍵でSSHログインする場合、Tera Termのバージョンは5以上にする必要がある
- IP Address
-
GitLabに必要なPythonパッケージをインストールする
-
Red Hat > RHEL 9 の採用における考慮事項によると、RHEL 9では
python3-policycoreutils
に変更されたようです
$ sudo dnf install -y curl python3-policycoreutils openssh-server perl
-
Red Hat > RHEL 9 の採用における考慮事項によると、RHEL 9では
-
GitLabのパッケージをリポジトリに追加する
$ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
-
GitLabをインストールする
$ sudo EXTERNAL_URL="http://<GitLab Global IPv4 Address>" dnf install -y gitlab-ee
-
パスワードを確認する
$ sudo grep "Password:" /etc/gitlab/initial_root_password
-
ブラウザからGitLabにログインする
- URL
- http://<GitLab Global IPv4 Address>
- user
- root
- password
- 前の手順で確認したパスワード
- URL
-
パスワードを変更する
- 左上のユーザーアイコン -> [Edit profile] を選択
- 左の
Password
から変更
さいごに
- GitLab構築手順はRHELやGitLabのバージョンにより異なるため、必要に応じて公式ドキュメントを確認して下さい
参考URL
-
Gitlab > Installation system requirements
- GitLabに必要な機能要件など
-
GitLab > Install self-managed GitLab
- GitLabのインストール方法
-
Red Hat > RHEL 9 の採用における考慮事項
- RHEL 8 とRHEL 9 の主な相違点をまとめたもの