Jenkins

Jenkins 2.0 on EC2 セットアップメモ

More than 1 year has passed since last update.

Jenkins 2.0がリリースされたのでEC2にインストール、セットアップのメモ。
github連携する予定なのででSSL有効にして外部接続を許可する。

EC2 インスタンス作成

AMIはAmazon Linux
Jenkinsのデフォルトポートの8080をとりあえずセキュリティグループで空けておく。
EIPを割り当てて置く。

Jenkinsインストール・セットアップ

SSH接続しコマンド実行

sudo yum update -y
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 service jenkins start

2.0が降ってきます。

Jenkinsセットアップ

(割り当てたEIP):8080にブラウザでアクセス。
スクリーンショット 2016-04-27 10.21.47.png

こんな画面になるので、サーバで sudo cat /var/lib/jenkins/secrets/initialAdminPassword
表示された文字列をフォームに入れてContinueボタンを押す。

スクリーンショット 2016-04-27 18.28.56.png
とりあえず、左側のおすすめプラグインインストールを選択。
スクリーンショット 2016-04-27 18.31.36.png
デフォルトユーザ作成しJenkinsの初期設定完了。

nginx設定

SSL有効化するためにnginxをインストールする。

sudo yum install nginx -y

ココらへんを参考に証明書をアップロード(もしくはオレオレ証明書を作成し)nginx.conf編集

nginx.conf
    upstream jenkins {
            server 127.0.0.1:8080 fail_timeout=0;
    }

    server {
            listen 80;
            server_name jenkins.domain.tld;
            return 301 https://$host$request_uri;
    }


    server {
            listen       443;
            server_name _;

            ssl on;
            ssl_certificate /etc/nginx/ssl/server.crt;
            ssl_certificate_key /etc/nginx/ssl/server.key;
            location / {
                    proxy_set_header        Host $host;
                    proxy_set_header        X-Real-IP $remote_addr;
                    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_set_header        X-Forwarded-Proto $scheme;
                    proxy_redirect          http:// https://;
                    proxy_pass http://jenkins;
            }
    }
sudo service nginx start

セキュリティグループ設定で8080ポートを閉じて443ポートを外部公開する。
Route53等でドメイン割当後、Jenkinsの管理>システムの設定のJenkins URLを設定。

TODO

  • github連携
  • Dockerビルド
  • EC2 Pluginでslave追加