LoginSignup
12
8

More than 5 years have passed since last update.

AWSにJenkinsをインストール

Posted at

やりたいこと

  • yumでインストールする
  • 最新安定版を使う (2016/7/26 時点では、2.7.1)
  • Apacheと連携する (ブラウザから8080ポートを使用しない)
  • 他のアプリも同一サーバで使用するので、prefixを/jenkinsにする。

前提

以下は構築済み

  • EC2インスタンス:Amazon Linux AMI (t2.micro)
  • Apache : 2.4

Jenkinsのインストール

Javaのバージョンの確認する。

$ java -version
java version "1.7.0_101"
OpenJDK Runtime Environment (amzn-2.6.6.1.67.amzn1-x86_64 u101-b00)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)

yumリポジトリの追加とRPMパッケージの公開鍵をインポートする。

$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jenkins.repo
$ sudo rpm --import http://pkg.jenkins.io/redhat-stable/jenkins.io.key

Jenkinsのバージョンを確認してインストールする。

$ sudo yum list available | grep jenkins
jenkins.noarch                        2.7.1-1.1                     jenkins
$ yum install jenkins

サービスを起動する。

$ sudo service jenkins start
$ sudo chkconfig httpd on

EC2インスタンスのセキュリティグループで8080が開いていることを確認し、
ブラウザでJenkinsにアクセスし、認証とプラグインのインストールを実行する。

http://ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com:8080/

インストールは終了。

Apacheと連携

Apacheとの連携について、Jenkins(1.x)では、AJPを使用していたが、Jenkins2.xでは、プロキシを使用する。

Jenkins側の設定を変更する。

$ sudo vi /etc/sysconfig/jenkins

JENKINS_PORTの変更と、JENKINS_ARGSにprefixを追加する。

# JENKINS_PORT="8080"
JENKINS_PORT="8081"

# JENKINS_ARGS=""
JENKINS_ARGS="--prefix=/jenkins"

Apache側にJenkinsの設定を追加する。

$ sudo vi /etc/httpd/conf.d/jenkins.conf

内容は以下の通り。

ProxyPass         /jenkins  http://localhost:8081/jenkins nocanon
ProxyPassReverse  /jenkins  http://localhost:8081/jenkins
ProxyRequests     Off
AllowEncodedSlashes NoDecode

<Proxy http://localhost:8081/jenkins*>
  Order deny,allow
  Allow from all
</Proxy>

JenkinsとApacheのサービス再起動する。

$ sudo service jenkins restart
$ sudo service httpd restart

EC2インスタンスのセキュリティグループで8080を削除し、
ブラウザでJenkinsにアクセスし、Jenkinsにアクセスできることを確認する。

http://ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com/jenkins

参考

12
8
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
12
8