jenkinsを使用するときは、本来専用のサーバーを用意する必要がある。ただ、アプリケーション用のサーバーにインストールしても使うこともできる。今回はEC2を利用してjenkins用サーバーを作成した。
javaをインストール
*jenkinsにはjavaが必要
console
$ sudo yum update -y
$ sudo yum search all java-1.8.0-openjdk
$ sudo yum install -y java-1.8.0-openjdk
$ sudo yum install -y java-1.8.0-openjdk-devel
$ java -version
jenkinsをインストール
console
$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
$ sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
$ sudo yum install jenkins
$ sudo yum install -y git
$ sudo service jenkins start
jenkinsにログイン
jenkinsはデフォルトでは、8080ポートを使用する。
ブラウザにて、http://():8080/にログインする。
*EC2のセキュリティーグループにて、事前に開けておく必要がある。
jenkins側の設定
・ジョブを作成
・ジョブ設定にある、「ビルドのパラメーター化」「文字列」の項目に「payload」と記述。
・「ソースコード管理」の「git」項目にてリポジトリ名を記入
・「jenkinsの管理」→「ユーザーの管理」→「APIトークンを取得するユーザID」→「設定」→「APIトークンの表示」でAPIトークンを取得しておく。
github側の設定
・リポジトリの「Setting」→「Webhooks」→「Add Webhook」でWebhookを追加する。
・下記を参照してPayload URLを記入。
http://[JENKINS_USERID]:[API_TOKEN]@[JENKINS_HOST]/job/[JOB_NAME]/buildWithParameters?token=[TOKEN_NAME]
[JENKINS_USERID]:jenkinsにログインした時に決めたユーザID
[API_TOKEN]:取得したAPIToken
[JENKINS_HOST]:jenkinsにログインしたURL
[JOB_NAME]:jenkinsで作成したジョブの名前
[TOKEN_NAME]:APITokenを取得する時に付けた名前
Payload URLを記入したあと、「Add Webhook」をクリックする。
設定がうまくいっていればgithubにpushすると、jenkins側にもビルドされる。