Jenkinsの導入 vol.02 Bitbucketと連携する

Post on 11-Jul-2015

1.153 views 1 download

Transcript of Jenkinsの導入 vol.02 Bitbucketと連携する

Jenkinsの導入 - Bitbucketと連携 -

FUNTERACTIVE OPEN MEETING VOL.03

Yuji Tsukaguchiファンタラクティブ株式会社COO, Web Designer

無料写真素材サイト ぱくたそEnginner

FUNTERACTIVE OPEN MEETING VOL.03 

@regret_raym

FUNTERACTIVE OPEN MEETING VOL.03 

FUNTERACTIVE OPEN MEETING VOL.03 

FUNTERACTIVE OPEN MEETING VOL.03 

FUNTERACTIVE OPEN MEETING VOL.03 

全体の流れ

push 通知サーバ

実行

そのうちテストプログラムとか用意してチェックしたい

pull(手動)実際にはJenkinsとサーバは

分けたほうがいい

・Jenkinsとは?(前回) ・インストール(前回)

http://creator-life.net/jenkins-install/

・グローバルセキュリティの設定 ・Bitbucketと連携

FUNTERACTIVE OPEN MEETING VOL.03 

グローバルセキュリティの設定

Jenkinsの管理 > グローバルセキュリティの設定

FUNTERACTIVE OPEN MEETING VOL.03

■ セキュリティを有効化にチェック !■ アクセス制御 !○ ユーザー情報 「Jenkins のユーザーデータベース」、「ユーザーにサインアップを許可」にチェック !○ 権限管理 「ログイン済みユーザーに許可」にチェック

ログイン認証の追加

FUNTERACTIVE OPEN MEETING VOL.03 

Jenkinsトップ画面でユーザー情報入力

ユーザーの追加

FUNTERACTIVE OPEN MEETING VOL.03 

○ ユーザー情報 「ユーザーにサインアップを許可」にチェックオフ !○ 権限管理

ログイン認証の変更

FUNTERACTIVE OPEN MEETING VOL.03 

Jenkinsの管理 > プラグインの管理 > 利用可能

Git Plugin

FUNTERACTIVE OPEN MEETING VOL.03 

BItbucketとの連携

FUNTERACTIVE OPEN MEETING VOL.03 

鍵の作成

jenkinsユーザーでログインできるように

$ sudo vi /etc/passwd !#修正 jenkins:x:497:497:Jenkins Continuous Build server:/var/lib/jenkins:/bin/bash

FUNTERACTIVE OPEN MEETING VOL.03 

鍵の作成

$ sudo su jenkins !$ whoami jenkins !$ mkdir .ssh !$ cd .ssh !$ ssh-keygen # パスフレーズは特に指定なし

FUNTERACTIVE OPEN MEETING VOL.03 

setting > デプロイ鍵 > 鍵を追加

Bitbucketに公開鍵登録

id_rsa.pubの中身を貼り付け登録

FUNTERACTIVE OPEN MEETING VOL.03 

鍵の設定

$ vi ~/.ssh/config !Host bitbucket.org port 22 Hostname bitbucket.org IdentityFile ~/.ssh/id_rsa TCPKeepAlive yes IdentitiesOnly yes !$ chmod 700 ~/.ssh $ chmod 600 ~/.ssh/config $ chmod 600 ~/.ssh/config/id_rsa !# bitbucketに接続テスト $ ssh -T git@bitbucket.org

FUNTERACTIVE OPEN MEETING VOL.03 

setting > フック

ウェブフックの設定

http://JENKINS SERVER/git/notifyCommit?url=git@bitbucket.org:REPO.git

POSTでURLを登録

FUNTERACTIVE OPEN MEETING VOL.03 

全体の流れ

push 通知サーバ

実行

POST通知

pull(手動)Git Pluginで実行

ビルド作成

FUNTERACTIVE OPEN MEETING VOL.02 

■ ソースコード管理 ○ Gitを選択 Repository URL「git@bitbucket.org:~~~」 !○ リポジトリブラウザ bitbucket URL : https://USER@bitbucket.org/REPOSITORY.git !○ SCMをポーリング Source Code Management、リポジトリにコミットがあった場合、ビルド実行 !○ ビルド ビルド手順の追加、シェルの実行でシェルを記入

ビルドの作成

VPSの設定

FUNTERACTIVE OPEN MEETING VOL.03 

全体の流れ

push 通知サーバ

WEBサーバ

POST通知

pull(手動)

http://MYHOST.com/

http://MYHOST.com/jenkins/

FUNTERACTIVE OPEN MEETING VOL.03 

jenkins config

$ vi /etc/sysconfig/jenkins !JENKINS_ARGS=“" !

↓ !JENKINS_ARGS="--prefix=/jenkins --httpPort=${JENKINS_PORT} --ajp13Port=${JENKINS_AJP_PORT}"

FUNTERACTIVE OPEN MEETING VOL.03 

Apache Config

$ vi ~/etc/httpd/conf.d/jenkins.conf !<VirtualHost *:80> ProxyRequests Off ProxyPreserveHost on ProxyPass /jenkins http://localhost:8080/jenkins ProxyPassReverse /jenkins http://localhost:8080/jenkins <Proxy http://localhost:8080/jenkins*> Order deny,allow Allow from all </proxy> </VirtualHost>

※ 8080ポートは閉じること

FUNTERACTIVE OPEN MEETING VOL.03 

Nginx config

$ vi ~/etc/nginx/conf.d/jenkins.conf !server { listen 80; server_name MYHOST.com; location ~/jenkins { proxy_pass http://localhost:8080; } }

FUNTERACTIVE OPEN MEETING VOL.03 

その他

・シェルスクリプトは、GithubやBitbuckect上においたものを実行するようにするといい !・ポート番号は適時変更する !・Gitは予めインストールしておく $ yum install -y git

FUNTERACTIVE OPEN MEETING VOL.03 

ご清聴ありがとうございました