okochangの馬鹿でありがとう

ふらふら適当に世間を生きる日々でございます

Amazon LinuxにCodePipelineのJenkinsプラグインをセットアップする

こんにちは、前回のブログでCentOS7にJenkinsとCodePipelineのプラグインをインストールしましたが、実際にテストをしてみると、エラーが発生してしまって連携が出来ませんでした。このエラーはaws-codepipeline-plugin-for-jenkinsのIssueでも報告されておりますが、Amazon Linuxを使って環境を構築してみたところ最新のJenkinsでも正しい動作をしました。aws-codepipeline-plugin-for-jenkinsの新しいバージョンがリリースされ、現在は問題なく動作するようになっています。
というわけで、今回はAmazon Linuxを使ったJenkinsの構築手順をまとめておきたいと思います。

f:id:okochang:20150714153507j:plain

使用したAMI

amzn-ami-hvm-2015.03.0.x86_64-gp2 (ami-cbf90ecb)

必要なパッケージのインストール

Raila環境の構築に必要なパッケージをインストールします。

$ sudo yum -y update
$ sudo yum -y install git emacs gcc zlib-devel libxml2-devel libxslt-devel readline-devel openssl-devel gcc-c++ $ curl-devel ruby-devel git postgresql postgresql-server postgresql-libs postgresql-contrib postgresql-devel
$ sudo yum -y install nodejs --enablerepo=epel

PostgreSQLのセットアップ

サンプルプロジェクトではPostgreSQLを使っていますので初期設定をします。

$ sudo service postgresql initdb --encoding=UTF-8 --locale=ja_JP.UTF-8
$ sudo service postgresql start
$ sudo chkconfig postgresql on
$ sudo su - postgres
$ createuser -a -d -P mimawarigumi
$ exit

Jenkinsのセットアップ

Jenkinsのインストールや自動起動の設定をします。

$ 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
$ sudo chkconfig jenkins on

rbenv、ruby-build、Rubyのセットアップ

サンプル用アプリのテストが出来るようにrbenv、Rubyをインストールします。 /usr/loca以下にrbenvをインストールし、jenkinsユーザーが実行出来るようにセットアップします。

$ sudo groupadd ruby
$ sudo  gpasswd -a jenkins ruby

rbenvをインストールし、rubyグループが実行可能なように権限設定をします。

$ cd /usr/local
$ sudo  git clone git://github.com/sstephenson/rbenv.git rbenv
$ sudo  chgrp -R ruby rbenv
$ sudo chmod -R g+rwxXs rbenv

ruby-buildをインストールし、先ほどと同じくrubyグループに権限を割り当てます。

$ sudo mkdir /usr/local/rbenv/plugins
$ cd /usr/local/rbenv/plugins
$ sudo git clone git://github.com/sstephenson/ruby-build.git
$ sudo chgrp -R ruby ruby-build
$ sudo chmod -R g+rwxs ruby-build

rootユーザーの環境変数を設定し、Rubyのインストールが出来るかテストします。

$ sudo -i
# echo 'export RBENV_ROOT=/usr/local/rbenv' >> .bash_profile
# echo 'export PATH="$RBENV_ROOT/bin:$PATH"' >> .bash_profile
# echo 'eval "$(rbenv init -)"' >> .bash_profile
# exec $SHELL -l
# rbenv install 2.2.2
# rbenv rehash
# rbenv global 2.2.2
# ruby -v

Jenkinsプラグインのインストール

ここからの手順は前回の手順と同じです、そちらをご覧ください。現場からは以上です。