AWS

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

CI ツールとして一世を風靡した Jenkins。

今では、CircleCI や Docker に置き換えられつつありますが、私は PHP で作った Web サイトのデプロイツールとして利用しています。

と言っても、実際にデプロイするのはシェルプログラムなのですが、ブラウザからの操作で git からソースを取得してシェルを呼び出すところだけでもやってくれれば御の字です。

今回は、AmazonLinux に Jenkins をインストールする方法を紹介します。

Java1.8のインストール

Jenkins の 2 系の途中から JDK1.7 がサポート外となり、1.8 以上じゃないと動作しなくなりました。

よって、まずは Java1.8 を利用できるところから進めます。

JDK を入れたら、明示的に 1.8 の方を利用するようにします。

Jenkinsのインストール

Jenkins のパッケージを管理するリポジトリを参照するようにし、Jenkins のインストールをします。

Jenkinsの設定

Jenkins の設定をします。

タイムゾーンの変更やポートの指定をします。

nginxの設定

nginx に Jenkins にアクセスをする設定をします。

Jenkins は 8080 番ポートで待ち受けているので、ポート指定すればアクセスも可能ですが、特定のドメインそして 80 番ポートでアクセスできるようにリバースプロキシを設定しておきます。

また、IP アドレスなどでアクセス制限できない場合は気休め程度に Basic 認証にしておきます。

Jenkins 自体にログイン認証もありますし、個人サイトなのでこれ以上セキュアにする必要はないでしょう。

Jenkinsのサービス

EC2 のインスタンスを再起動しても Jenkins が自動起動するようにしておきます。

Jenkins のサービスを起動します。

bitbucketと連携する

私は bitbucket でプログラムのソース管理をしているので、Jenkins が bitbucket と連携できるように設定します。

GitHub や GitLab を利用されている方は置き換えてください。

Jenkins ユーザの設定をします。

Jenkins ユーザでシェルが利用できるように設定変更します。

root から Jenkins ユーザに切り替えます。

念のため、カレントディレクトリを確認しておきます。

Jenkins ユーザでキーペア(秘密鍵&公開鍵)を生成します。

上記で作成した公開鍵を bitbucket 上でデプロイ鍵として設定します。

Jenkins ユーザで bitbucket との連携を確立させます。

ここまでで Jenkins のインストールと設定は完了です。

Jenkins の初回アクセス時にロック解除が必要になるので、下記のファイルに書かれているパスワードを入力しましょう。

各アプリ(サイト)のデプロイ設定については、また別の機会に書きたいと思います。