Jenkinsのインストールとビルド実行（AmazonLinux2）

# はじめに
本記事はjenkinsのインストールと簡単なジョブの実行をまとめたものです。

Jenkinsをさわってみることを目標に学習した備忘録になります。
下のサイトを可能な限り再現しています。

https://www.buildinsider.net/enterprise/jenkins/001



### システム要件
|ＭＷ等|バージョン等|
|:---|:---|
|OS|AmazonLinux2|
|Jenkins|2.361|
|OpenJDK|11.0.13|

# Jenkinsのインストール
コマンド上でJenkinsをインストールして、ブラウザからアクセスできるようにしていきます。
### コマンド操作
Jenkinsリポジトリを追加して、yumでインストールしていきます。
```
# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
# rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
# yum install jenkins
```
Jenkins起動のために必要なJavaをインストールしていきます。
```
# amazon-linux-extras install java-openjdk11
# java --version
openjdk 11.0.13 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)
```
Jenkinsを起動して、自動起動の設定をしておきます。
```
# systemctl start jenkins
# systemctl enable jenkins
```
ここでブラウザから初回ログイン時に必要なパスワードを確認しておきます。
`initialAdminPassword`ファイルに入っている文字列をコピーしておきます。
※ファイルのパスは環境によって異なる場合があるので注意してください。
```
# cat /var/lib/jenkins/secrets/initialAdminPassword
f58995b11b754310a0e128453255ac8a　　　#ここの文字列をコピーしておく
```
ここまでできたら、ブラウザからJenkinsにアクセスして操作していきます。
### ブラウザから操作
ブラウザ上から`http://パブリックIPアドレス:8080`にアクセスします。
下のようなページが表示されるはずです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2724001/b6d5db96-6aa0-9d67-4607-953581c1371d.png)
先ほどコピーしたパスワードを入力し、Continueを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2724001/1e91cf53-d11c-5c40-c725-130be93bade9.png)
ここでは推奨プラグインを一括でインストールするか、選んでインストールしていくか問われています。
左の`Install suggested plugins`を選択します。
選択するとすぐにインストールが開始されるので、完了するまでしばらく待ちます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2724001/083fa3db-d2e0-eb2d-dfe4-ad153fed7c17.png)
ユーザー名、パスワード、フルネーム、メールアドレスを設定します。
今回は仮で下記のように設定しました。
* ユーザー名　jenkins
* パスワード  jenkins
* フルネーム  jenkins
* メールアドレス  jenkins@example.com

設定したら`Save and Continue`を押して次のページに進みます。

その後はページに従って次のページに進んでいくと、Jenkinsのダッシュボードが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2724001/faad425f-e2cc-95bb-92a4-04221e796d4b.png)

# 「Hello world!」ジョブを実行してみる
試しにHello world!を表示させる、簡単なジョブを実行してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2724001/1901570f-6253-c42b-18e0-705da1a8710c.png)
左上の`+ 新規ジョブ作成`を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2724001/ec95eed4-f067-2e23-840d-94f81457a8bf.png)
分かりやすいジョブ名を入力し、`フリースタイル・プロジェクトのビルド`を選択して、OKを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2724001/1dc77c44-8779-d5bf-4a54-cfd116790348.png)
次のページを下の方までスクロールすると Build Steps の項目があるので、`ビルド手順の追加`→`シェルの実行`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2724001/17b556cb-5d48-5093-33de-500a8b2b9847.png)
シェルスクリプトの入力欄が出てくるので、Hello world を表示させるコマンドを入力して、保存を押します。
```
echo "Hello world!"
```
ここまでできたら、ダッシュボードに戻ると、ジョブが作成できたことが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2724001/ce63b421-36a7-5313-add3-fd8a77db1d4c.png)
それではジョブを実行してみましょう。
作成したジョブ名をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2724001/c58183d4-9902-6378-a2d2-4a3cc16f8dd0.png)
左側にある`ビルド実行`をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2724001/44004c02-b088-2e44-457d-9fe23a568573.png)
左下の方に実行したビルドが表示されます。
成功していれば緑色のマーク、失敗したときは赤色のマークがついています。
内容を確認してみましょう。
確認したいビルドをクリックします。（今回は　#1　）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2724001/493e5495-3e78-a03f-76fe-c43a2e0ab850.png)
左にある`コンソール出力`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2724001/83da598b-931d-db93-5b8f-8514413b6015.png)
コンソール上での実行結果を確認できます。
Hello world! が表示されており、実行結果は SUCCESS ということが確認できます。

これでJenkinsのインストールから簡単なジョブ実行までの流れは完了です。

# まとめ
参考サイトを再現していきましたが、なぜかシステムが起動しない！となり、少し詰まりました。
Jenkinsの動作にJavaが必要だったんですね。
その後の流れはバージョンの違いで多少表示画面が異なりましたが、流れはそのままいけました。
次の記事ではJenkinsでrubyを実行した流れを書いていきます。

# 参考文献
[Jenkinsをインストールして使ってみよう［Mac／Linux／Windows］](https://www.buildinsider.net/enterprise/jenkins/001)
[【AWS EC2】Amazon Linux 2にJenkinsをインストールする](https://qiita.com/tamorieeeen/items/15d90adeebbf8b408c78)