はじめに
GitLabCEをAmazonLinux2023 上に構築したのでその時の記録をしておく。
環境
MacOS Ventura 13.3.1 (a) (操作PC)
準備
EC2インスタンスの作成
項目 | 設定値 |
---|---|
名前 | gitlab |
OS | AmazonLinux2023 AMI |
アーキテクチャ | 64ビット(Arm) |
インスタンスタイプ | t4g.medium |
キーペア | gitlab(新規で作成) |
セキュリティグループ | ssh,http,https (自分のIPのみ) |
ストレージ | 8GB (gp3) |
GitLabの要件を確認すると、4GBが最小のメモリとなっているので、t4g.medium
とする。
SSHログイン
~/workspace/ansible-gitlab-for-al2023$ssh -i ~/.ssh/gitlab.pem ec2-user@52.195.189.27
, #_
~\_ ####_ Amazon Linux 2023
~~ \_#####\
~~ \###|
~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023
~~ V~' '->
~~~ /
~~._. _/
_/ _/
_/m/'
[ec2-user@ip-172-31-29-225 ~]$
Ansibleの構築&実行
※構築したプレイブックについてはGitHubの下記に公開しておく。
構築
GitHubのリポジトリは下記
https://github.com/katsuobushiFPGA/ansible-gitlab-al2023
実行
README.md
の手順通りに構築する。
- hostsの準備
cp hosts.example hosts
vim hosts
※IPアドレスと鍵ファイルの場所を指定しておく。
group_vars
の認証情報を編集する。
vim group_vars/all
- テスト
ansible-playbook -i hosts test.yml
~/workspace/ansible-gitlab-for-al2023$ansible-playbook -i hosts test.yml
PLAY [Test] ******************************************************************************************************************************************************
TASK [Gathering Facts] *******************************************************************************************************************************************
[WARNING]: Platform linux on host 52.195.189.27 is using the discovered Python interpreter at /usr/bin/python3.9, but future installation of another Python
interpreter could change the meaning of that path. See https://docs.ansible.com/ansible-core/2.15/reference_appendices/interpreter_discovery.html for more
information.
ok: [52.195.189.27]
TASK [Ping pong check] *******************************************************************************************************************************************
ok: [52.195.189.27]
PLAY RECAP *******************************************************************************************************************************************************
52.195.189.27 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
- プレイブックの実行
ansible-playbook -i hosts site.yml
~/workspace/ansible-gitlab-for-al2023$ansible-playbook -i hosts test.yml
PLAY [Test] ******************************************************************************************************************************************
TASK [Gathering Facts] *******************************************************************************************************************************
[WARNING]: Platform linux on host 3.112.240.174 is using the discovered Python interpreter at /usr/bin/python3.9, but future installation of another
Python interpreter could change the meaning of that path. See https://docs.ansible.com/ansible-
core/2.15/reference_appendices/interpreter_discovery.html for more information.
ok: [3.112.240.174]
TASK [Ping pong check] *******************************************************************************************************************************
ok: [3.112.240.174]
PLAY RECAP *******************************************************************************************************************************************
3.112.240.174 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
~/workspace/ansible-gitlab-for-al2023$ansible-playbook -i hosts site.yml
PLAY [Provision] *************************************************************************************************************************************
TASK [Gathering Facts] *******************************************************************************************************************************
[WARNING]: Platform linux on host 3.112.240.174 is using the discovered Python interpreter at /usr/bin/python3.9, but future installation of another
Python interpreter could change the meaning of that path. See https://docs.ansible.com/ansible-
core/2.15/reference_appendices/interpreter_discovery.html for more information.
ok: [3.112.240.174]
TASK [swap : Setting swap file path] *****************************************************************************************************************
ok: [3.112.240.174]
TASK [swap : Zero padding] ***************************************************************************************************************************
changed: [3.112.240.174]
TASK [swap : Set up a Linux swap area] ***************************************************************************************************************
ok: [3.112.240.174]
TASK [swap : Chmod swap file] ************************************************************************************************************************
changed: [3.112.240.174]
TASK [swap : Mount swap] *****************************************************************************************************************************
changed: [3.112.240.174]
TASK [swap : Just force systemd to re-execute itself (2.8 and above)] ********************************************************************************
ok: [3.112.240.174]
TASK [swap : Enable file for swapping] ***************************************************************************************************************
ok: [3.112.240.174]
TASK [gitlab-ce : Add repository for GitLabCE] *******************************************************************************************************
changed: [3.112.240.174]
TASK [gitlab-ce : Install GitLabCE] ******************************************************************************************************************
changed: [3.112.240.174]
TASK [gitlab-runner : Add repository for GitLab runner] **********************************************************************************************
changed: [3.112.240.174]
TASK [gitlab-runner : Install GitLab runner] *********************************************************************************************************
changed: [3.112.240.174]
PLAY RECAP *******************************************************************************************************************************************
3.112.240.174 : ok=12 changed=7 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
できた!
確認
root
のパスワードは以下でわかる。
cat /etc/gitlab/initial_root_password
参考
Configuration options for Linux package installations | GitLab
https://docs.gitlab.com/omnibus/settings/configuration.html自己管理型GitLabのインストール | GitLab
https://about.gitlab.com/ja-jp/install/#amazonlinux-2
おわりに
AmazonLinux2023にGitLabCEを入れるということを実践した。
でも公式のAMIで既に入っているものがあるらしいではないか・・・。
例えば下記など、公式でAMIの提供をしているのであればこれで良いのではないか!
https://aws.amazon.com/marketplace/pp/prodview-w6ykryurkesjq
と思ったが、まあ勉強という意味でね。