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セットアップ
こんな画面になるので、サーバで sudo cat /var/lib/jenkins/secrets/initialAdminPassword
し
表示された文字列をフォームに入れてContinueボタンを押す。
とりあえず、左側のおすすめプラグインインストールを選択。
デフォルトユーザ作成し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追加