3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AmazonLinux2023にJenkinsをインストールする

Last updated at Posted at 2024-04-08

概要

これの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

参考

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?