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

29
Jenkinsの導入 - Bitbucketと連携 - FUNTERACTIVE OPEN MEETING VOL.03

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

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

Jenkinsの導入 - Bitbucketと連携 -

FUNTERACTIVE OPEN MEETING VOL.03

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

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

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

FUNTERACTIVE OPEN MEETING VOL.03 

@regret_raym

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

FUNTERACTIVE OPEN MEETING VOL.03 

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

FUNTERACTIVE OPEN MEETING VOL.03 

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

FUNTERACTIVE OPEN MEETING VOL.03 

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

FUNTERACTIVE OPEN MEETING VOL.03 

全体の流れ

push 通知サーバ

実行

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

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

分けたほうがいい

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

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

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

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

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

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

FUNTERACTIVE OPEN MEETING VOL.03 

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

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

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

FUNTERACTIVE OPEN MEETING VOL.03

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

ログイン認証の追加

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

FUNTERACTIVE OPEN MEETING VOL.03 

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

ユーザーの追加

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

FUNTERACTIVE OPEN MEETING VOL.03 

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

ログイン認証の変更

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

FUNTERACTIVE OPEN MEETING VOL.03 

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

Git Plugin

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

FUNTERACTIVE OPEN MEETING VOL.03 

BItbucketとの連携

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

FUNTERACTIVE OPEN MEETING VOL.03 

鍵の作成

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

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

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

FUNTERACTIVE OPEN MEETING VOL.03 

鍵の作成

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

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

FUNTERACTIVE OPEN MEETING VOL.03 

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

Bitbucketに公開鍵登録

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

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

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 [email protected]

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

FUNTERACTIVE OPEN MEETING VOL.03 

setting > フック

ウェブフックの設定

http://JENKINS SERVER/git/[email protected]:REPO.git

POSTでURLを登録

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

FUNTERACTIVE OPEN MEETING VOL.03 

全体の流れ

push 通知サーバ

実行

POST通知

pull(手動)Git Pluginで実行

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

ビルド作成

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

FUNTERACTIVE OPEN MEETING VOL.02 

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

ビルドの作成

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

VPSの設定

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

FUNTERACTIVE OPEN MEETING VOL.03 

全体の流れ

push 通知サーバ

WEBサーバ

POST通知

pull(手動)

http://MYHOST.com/

http://MYHOST.com/jenkins/

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

FUNTERACTIVE OPEN MEETING VOL.03 

jenkins config

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

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

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

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ポートは閉じること

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

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; } }

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

FUNTERACTIVE OPEN MEETING VOL.03 

その他

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

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

FUNTERACTIVE OPEN MEETING VOL.03 

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