0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWSのEC2でjenkinsの環境構築_自力でインストールしてみよう

Posted at

目次

  1. 前置き
  2. 環境
  3. EC2の操作
  4. jenkinsの準備&動作確認
  5. まとめ
  6. 余談

1. 前置き

この記事ではEC2にjenkinsをインストールしてhello worldの確認をする。
Linuxの勉強を兼ねてるので無駄に自力で環境構築するが、手っ取り早く環境構築したいだけなら「6.余談」を参照すること。
AWS・jenkinsの用語や知識は解説しないので他の記事を参照すること。

2. 環境

今回構築したEC2の環境は以下

OS : Ubuntu 22.04
インスタンスタイプ : t2.micro
java : 11.0.15
jenkins : 2.332.3

途中でコマンドラインからEC2のサーバーにアクセスしますが、その環境はWindows 10です。

3. EC2の操作

以下の3ステップでクラウド上にUbuntuの仮想環境を構築する。

3-1. AWSのアカウントを作成

アカウントの作成は特段難しいことはないと思うので割愛。IAMユーザーは今回使用しないので、ルートユーザーでログインする。IAMの権限によってはEC2が実質使えないこともあるようなので上手くいかない場合は確認すること。

image.png

3-2. EC2のインスタンスを作成

EC2のページに入ると、左側のメニュー欄にインスタンスがあるのでクリックし、インスタンスの一覧を表示する。

image.png

インスタンスの一覧の右上に「インスタンスを起動」があるのでクリックし、インスタンスの設定画面に移動する。

image.png

ここからサーバーの設定をするが、基本的にはデフォルトのままにする。まずはサーバーの名前を設定。
※インスタンスを作成するためにのUIが新しくなってて、ネットの過去情報が使いにくいものになってしまってた...

image.png

続いてOSの選択。ここではUbuntuを選ぶ。2022/5/19現在だとデフォルトの設定が22.04になっているので、そのまま22.04を使用する。

image.png

インスタンスタイプの選択はデフォルトのままにする。

image.png

キーペアの作成は、事前に作ってあるならプルダウンから選択。無いなら「新しいキーペアの作成」から暗号鍵を作成すること。

image.png

ネットワークの設定は、jenkinsの準備だけなら特に必要ないのでデフォルトのままにする。後々HTTP接続したくなった時は、後述するセキュリティグループで設定すればよい。鍵情報が洩れなければ特に問題ないが、アクセスの許可を任意の場所から特定の場所に変更するとセキュリティ的により安全になる。

image.png

ストレージの設定と高度な詳細もデフォルトのままにして、インスタンスを起動する。

image.png

少し時間を置いてインスタンスの一覧を見ると以下のように状態が実行中になっているのが確認できる

image.png

3-3. セキュリティグループの設定

簡単に言うとポート解放みたいなもの。以下画像のように8080のポートだけ解放する必要があるので設定すること。
image.png

以上でEC2側の準備が完了した。ここからEC2で構築したLinuxにjenkinsをインストールする。

4. jenkinsの準備&動作確認

以下の3ステップでjenkinsの動作確認をする。

4-1. EC2で作成したlinuxにアクセスする

以下のインスタンスIDの欄にリンクがあるのでクリックする。(画像では白塗りで消されてます)
image.png

インスタンスの概要ページに飛ぶので、右上にある接続をクリックする。
image.png

SSH接続をするためのコマンドが例:の下の□マークをクリックするとコピーできます。
image.png

4-2. コマンドを打ってjenkinsをインストールする

プライベートキーファイルがあるフォルダのコマンドプロンプト(以下、cmd)を開いて、コピーしたコマンドを張り付ける。
※キーがないフォルダでコマンド打っても、エラー吐かれます。

C:\Users\キーがあるフォルダ>ssh -i "キー名" ubuntu@白塗りの部分

途中で確認が求められるのでyesをする
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

成功すると以下のようにパスがubuntuになる。
image.png

ここからUbuntuにjavaとjenkinsをインストールする。(jenkinsを使うにはjavaのインストールが必須です)

【Javaのインストール】
sudo apt update
sudo apt install openjdk-11-jre
java -version

【jenkinsのインストール&起動】
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee \
  /usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
  https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null

sudo apt-get update
sudo apt-get install jenkins
sudo systemctl enable jenkins
sudo systemctl start jenkins

【jenkinsの初期ログインパスワードを入手】
sudo cat /var/lib/jenkins/secrets/initialAdminPassword

jenkinsのインストールについて参考にしたのはjenkinsの公式ページになります。
初期ログインパスワードは後で使用するので事前に取得しておきます。

この後ブラウザからJenkinsにログインするために、インスタンスのpublic IP addressを入手します。インスタンスの概要からコピーしてください(以下画像の赤塗り)
image.png

その後、適当なブラウザのタブで以下の入力をする。

http://(public IP address):8080

成功すると、jenkinsの初期画面が出てきます。
image.png

4-3. jenkinsでHello worldを表示する

jenkinsの細かい設定のことはここで解説しません。なるべく最小手順でHello worldを表示するようにします。
まずは推奨されているプラグインをインストールします(左側の四角)。ダウンロードはそれなりに時間かかります。
image.png

ダウンロードが終了するとadminユーザー作成ができるようになります。適宜入力してください。
image.png

以下の画面でますが、右下のSave and finishをクリックする。
image.png

以下の画像の画面が出てくれば成功です。
image.png

JenkinsのHello Worldは検索すると、いくらでも出てくるので簡略化します。
新規ジョブ作成 > Job名記入 > フリースタイル・プロジェクトのビルド > OK
をすると、ビルドの設定画面が出てきます。

image.png

hello worldを出すためのコマンドを記入します。
ビルド > ビルド手順の追加 > シェルの実行 > シェルスクリプト
image.png

最後に保存するとプロジェクトが生成されます。
image.png

あとはビルド実行をして、実行履歴からコンソール出力の内容を見て、"Hello world"が出ていれば成功です!

image.png

5. まとめ

今回はLinuxの練習をするためにjenkinsをダウンロードしてHello worldを出力しました。
さらっと流してますが、Jenkinsをダウンロードするためのコマンドは、ネットの情報が古かったりしてかなり引っ掛かりました。その点AWSは人気も相まって詰まる点はなかったです(強いて言えば専門用語を勉強しなきゃ意味不明だったことくらい)。Linux環境を簡単に準備できるようになったのは、AWSなどのクラウドサービス様様だなぁと思います。

6. 余談

EC2でjenkinsの環境構築するのに最も簡単な手段は、サードパーティーが用意してくれてるAMIを選ぶことが最適だと思います(以下画像)。
image.png

検索すれば使い方出てくるので、ぜひそっちを参照してね(例)

話変わるけど、クラウドサービスを使う理由はLinuxを弄るのに仮想環境をローカルで作ってたらPCの容量足りなくなってクラウドサービスに手を出すことにしました。AWSを使わなくても良かったけど、有名だからやってみようくらいの気持ちで手を出しました。AWSは1年しか無料期間ないので、永続的に無料なGCPのクラウドサービス使うことになるかも。あとクラウドは実家帰った場合でも簡単にログインできて遊べるから便利だよね。
ただこれを書いている辺りでWSL2を使えば実は自分の使い方的に問題なかったのでは?と思っているのでWSL2に挑戦してみようかなと考えている

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?