概要
これのAmazonLinux2023版です。
AmazonLinux2→AmazonLinux2023に乗り換えるにあたってローカルにAmazonLinux2023(以下AL2023)を立てて検証中なのでEC2で立てたとき用にメモ。
環境
- Windows 11 Pro
- VirtualBox 7.0.12
- Amazon Linux 2023
- Operating System: Amazon Linux 2023.4.20240319
- Kernel: Linux 6.1.79-99.167.amzn2023.x86_64
構築手順
1. JDKをインストールする
AL2023にはデフォルトでJavaは入っていないのでまずはJDKを入れます。
2. Jenkinsのリポジトリを追加
searchしたけどさすがになさそうなのでリポジトリを追加します。
$ dnf search jenkins
No matches found.
$ sudo dnf config-manager --add-repo=https://pkg.jenkins.io/redhat-stable/jenkins.repo
Adding repo from: https://pkg.jenkins.io/redhat-stable/jenkins.repo
$ sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
相変わらず接続先のbaseurlがhttpなのでhttpsに変更しておきます。
$ cat /etc/yum.repos.d/jenkins.repo
[jenkins]
name=Jenkins-stable
baseurl=http://pkg.jenkins.io/redhat-stable
gpgcheck=1
$ sudo vi /etc/yum.repos.d/jenkins.repo
baseurl=https://pkg.jenkins.io/redhat-stable
3. Jenkinsをインストールする
$ sudo dnf -y install jenkins
Jenkins-stable 22 kB/s | 28 kB 00:01
Dependencies resolved.
=============================================================================================================================================
Package Architecture Version Repository Size
=============================================================================================================================================
Installing:
jenkins noarch 2.440.2-1.1 jenkins 82 M
Transaction Summary
=============================================================================================================================================
Install 1 Package
Installed:
jenkins-2.440.2-1.1.noarch
$ rpm -qa | grep jenkins
jenkins-2.440.2-1.1.noarch
4. Jenkinsを起動する
Starting jenkins : [ OK ]
みたいな表示が何も出なかったからstatus確認したらちゃんと起動してました。
$ sudo systemctl start jenkins
$ systemctl status jenkins
● jenkins.service - Jenkins Continuous Integration Server
Loaded: loaded (/usr/lib/systemd/system/jenkins.service; disabled; preset: disabled)
Active: active (running) since Mon 2024-04-08 15:40:19 JST; 10s ago
Main PID: 1846 (java)
Tasks: 46 (limit: 1099)
Memory: 517.8M
CPU: 30.558s
CGroup: /system.slice/jenkins.service
└─1846 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080
5. Jenkinsの初期設定をする
http://(IP address):8080
にアクセスして画面に従って初期設定をします。
Unlock Jenkins
初期パスワードを確認して入力します。
$ sudo less /var/lib/jenkins/secrets/initialAdminPassword
Customize Jenkins
Select plugins to install
を選択して必要なプラグインのみインストールします。後からでもインストールできるのでとりあえず必要そうなものだけ選びます。
- Folders
- OWASP Markup Formatter
- Build Timeout
- Credentials Binding
- Timestamper
- Workspace Cleanup
- Git
- GitHub
- Locale
Create First Admin User
管理者ユーザーを登録します。
- ユーザー名:ログインする際のユーザーID
- パスワード:ログインする際のパスワード
- パスワードの確認:パスワードを再度入力
- フルネーム:表示名
- メールアドレス:メールアドレス
Instance Configuration
デフォルトはhttp://(IP address):8080/
なので、JenkinsのURLを変更したい場合は入力します。私はhttp://(IP address):8083/jenkins/
に変更しました。
設定ファイルを変更して再起動する
$ sudo vi /usr/lib/systemd/system/jenkins.service
Environment="JENKINS_PORT=8083"
Environment="JENKINS_PREFIX=/jenkins"
$ sudo systemctl daemon-reload
$ sudo systemctl restart jenkins
http://(IP address):8083/jenkins/
にアクセスして初期設定で入力した管理者ユーザーでログインできればOK!
6. tmpdirの変更
tmpdirの容量が足りないとノードがオフラインになってしまってビルドできないのでJenkinsの管理 > Nodes でmasterノードの状態を確認して足りなかったら変更します。
私の環境では空きテンポラリ容量の不足でノードがオフラインになっていたので変更しました。ちなみに、Jenkinsの管理 > システム情報 でjava.io.tmpdir
に出ているのが現在のtmpdirです。
tmpdirの作成
$ sudo mkdir /var/lib/jenkins/tmp
$ sudo chown jenkins:jenkins /var/lib/jenkins/tmp
$ ls -l /var/lib/jenkins/ | grep tmp
drwxr-xr-x. 2 jenkins jenkins 6 Apr 22 14:48 tmp
tmpdirを変更する
JAVA_OPTS
に-Djava.io.tmpdir=$JENKINS_HOME/tmp
を追加します。
$ sudo vi /usr/lib/systemd/system/jenkins.service
Environment="JAVA_OPTS=-Djava.awt.headless=true -Djava.io.tmpdir=$JENKINS_HOME/tmp"
$ sudo systemctl daemon-reload
$ sudo systemctl restart jenkins