Jenkins構築 - GTNDYanagisawa/million GitHub Wiki
private cloud(ubuntu) でjenkins サーバーを立ち上げる
今回使ったマシンのIPは 172.16.xxx.xxx です。
jenkinsサーバー へは ID:ubuntu PW:いつもの でログイン可能
jenkins へは http://172.16.xxx.xxx:8080 へアクセス(ssh [email protected])して
ID:ubuntu PW:いつもの
でログイン可能
jenkins で使用するポートを空ける。(既に空いている場合は問題ない。空けるポートは8080が無難?)
sudo ufw allow 8080/tcp
apt-get install python-software-properties add-apt-repository ppa:ferramroberto/java apt-get update apt-get install sun-java6-jdk sun-java6-plugin
確認
java -version
sudo apt-get install git-core
gitのユーザ設定が必要(system ユーザの設定じゃないとだめ?global だと何故か jenkins pulug-in から読み込めない)
sudo git config --system user.name "ユーザ名" sudo git config --system user.email "メールアドレス"
現在(2013/7/3)上記方法でgit をインストールするとバージョンが1.7.0と最新でないものがインストールされます。git が最新バージョンが古いとfetch 時にエラー出るようなので下記を参考に新しいバージョンを入れる。
# ソースをダウンロード $ wget https://git-core.googlecode.com/files/git-1.8.1.tar.gz $ tar zxvf git-1.8.1.tar.gz $ cd git-1.8.1/ # 必要なライブラリを apt-get で取得 $ sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev $ ./configure $ make prefix=/usr/local all #all をつけないと root 以外のユーザで使えない $ sudo make prefix=/usr/local install
また、git のバージョンを上げた際にジョブを新規に作成し直す必要がある。
- pyhon2.5 のインストール
-
ubuntu10 ではpython2.6が標準のため2.5をインストールする必要がある。
sudo apt-get install python2.5
google_appengine のインストール(最新のバージョンのインストール下記の例では1.8.0)
wget http://googleappengine.googlecode.com/files/google_appengine_1.8.0.zip unzip google_appengine_1.8.0.zip
appengine の場所は /usr/local/google_appengine にないとエラーになるのでリンクを貼る。
下記はホームディレクトリにgoogle_appengine を解凍した場合。
sudo ln -s $HOME/google_appengine /usr/local
更新用のkey情報を取得。
sudo wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -#/etc/apt/sources.list の末尾に以下の行を追加
deb http://pkg.jenkins-ci.org/debian binary/ジェンキンスのインストール
sudo apt-get update sudo apt-get install jenkinsGUIを確認
http://172.16.xxx.xxx:8080 へアクセスしてページを確認出来たらインストールは完了。
- 詳細設定
プラグインの設定を行う。TOP -> Jenkinsの管理 -> プラグインの管理 から「利用可能」タブを選択後下記のプラグインを追加 Credentials Plugin,Deploy to container Plugin,FindBugs Plug-in,GitHub API Plugin,GitHub Plugin, Hudson Post build task,Jenkins disk-usage plugin,Jenkins GIT plugin,Jenkins jQuery plugin, Jenkins SSH Slaves plugin, Node and Label parameter plugin, Python Plugin (上記の中ではプラグインをインストールしたときにインストールされるプラグインが含まれるので、あくまで目安です。)
- 新規ジョブの作成
develop をデプロイする場合。(ユニットテストとかはちょっと違うかも) TOP->新規ジョブ作成 から 名前をつけフリースタイル・プロジェクトのビルド を選択する。・ソースコード管理
Git を選択 Repository URL には
https://pacquiao-test:[email protected]/bbtinc/pacquiao.gitを指定。
- ・ビルド
シェルの実行に
echo "************" > password# /usr/bin/perl -pi -e 's/1[,\s1-9]* of month/every day/' cron.yamlPYTHON_PATH=/usr/bin/python /usr/bin/python manage.py compile_all_translations/usr/bin/python manage.py appcfg update [email protected] --no_cookies --no_precompilation --passin -A lesson757sandbox < password/usr/bin/python manage.py appcfg backends update [email protected] --no_cookies --passin -A lesson757sandbox < passwordgit checkout cron.yamlを追加
- ・ビルド後の処理
-
Postbuild task のスクリプトに
RESULT=`curl ${BUILD_URL}api/xml | perl -le '$_=<>;print [/<result>(.+?)</]->[0]'` if [ $RESULT = "SUCCESS" ]; then echo "SUCCESS" else curl -F chat='#ogiyuta/$myanaskype;6e527059d25d3d88' -F message="[Jenkins] $JOB_NAME: FAILURE -> $BUILD_URL" http://skypebot.zsrv.net/skypehub/post_message/ appcfg.py rollback . [email protected] --passin -A lesson757sandbox < password appcfg.py backends . rollback backend [email protected] --passin -A lesson757sandbox < password appcfg.py backends . rollback rep-backend [email protected] --passin -A lesson757sandbox < password fi
を追加
- script に使う環境変数に関する注意
BUILD_URL 等 *_URL 系の環境変数は本来設定せずに使用出来るはずだが、環境変数チェックボックをチェックして保存を押さないと使用できない。 詳しくは下記 http://jenkins.361315.n4.nabble.com/JIRA-JENKINS-16225-JENKINS-URL-JOB-URL-BUILD-URL-not-set-td4650017.html
- アカウントの追加
1.TOPから Jenkinsの管理→グローバルセキュリティの設定にて
2.ユーザ情報のjenkinsのユーザーデータベースを選択→ユーザにサインアップを許可をチェック
3.権限管理にて行列による権限設定(プロジェクト単位で指定しない場合)を選択→ユーザを追加&追加したユーザの全ての項目にチェック
4.上記設定を行い画面左下の保存ボタンを押すとログイン画面へ遷移する
5.サインアップから先ほど登録したユーザ名を指定して、残りの項目を埋める。