インストールしないでJenkins
自己紹介
● 徳納 弘和 (とくのう ひろかず)
● 某社の工場のITシステム部門
● 39才にしてIT部門へ移動して4年目
– 遅れを取り戻すべく日夜勉強中
● 少し覚えた言語
– VBA, Java, Perl, Shell...
● コー...
目的
● サーバーにインストールするのは大人の事情で
無理!でもJenkins使って自動テストする
● 前提
– サーバーには何もインストールしない
– 手元にはWindows PCがある
– Windowsにも何もインストールしない
– サー...
用意するもの
● Putty Portable : サーバーへの接続
● Jenkins : 継続的インテグレーションサーバー
● xUnitの何か
– シェルのユニットテストshunit2を使ってみました
● 気合い
Putty Portable 1/2 鍵作成
● PUTTYGENで鍵を生成する
– %PuTTYPortable%
¥App¥putty¥PUTTYGEN.EXEを実行
– Generateを押す
– マウスを元気よく動かす
● 秘密鍵を...
Putty Portable 2/2 鍵の登録
● 公開鍵をサーバーにコピー
– pscp id_rsa.pub yourname@mycompany.com:id_rsa.pub
– 初めて接続する場合、以下のメッセージが出るのでyを押す
...
Pagent
● 鍵を使う度にパスワードを聞かれない様に
Pagentを使う
%PuTTYPortable%AppputtyPAGEANT.EXE "%HOMEDRIVE%%HOMEPATH%id_rsa.ppk"
● スタートアップに入れ...
shunit2
● shuni2 2.1系を展開
– 2.0系ではJenkinsがSuccess/Failure判定が出来ない
– tar zxvf shunit2-2.1.6.tgz
~/Test/test_pass.sh
#! /bin/s...
Jenkinsの設定 1/2
● 先ずは起動
java -jar %Jenkins%jenkins.war
● 新規Job作成
– フリースタイルを選択
Jenkinsの設定 2/2
● ビルド / ビルド手順の追加 / Windowsバッチコ
マンドの実行
– PUTTY_PATHやRSA_FILEは環境に合わせて変えて
下さい
setlocal
set PUTTY_PATH="D:Port...
Jobの実行
結果確認
結果 1/2 Success
● 全ての結果がPassするとSuccessになる
結果 2/2 Failure
● 1つでも失敗するとFailure
まとめ
● インストールしなくてもJenkinsで自動テストが
出来る
– 手元のPCからサーバー側のスクリプトを実行
● Jenkinsからサーバー上でのshunit2の結果を判
定出来た
Upcoming SlideShare
Loading in …5
×

Jenkins without Install

712 views

Published on

How to use run unit test on server from Jenkins on Windows without install

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

Jenkins without Install

  1. 1. インストールしないでJenkins
  2. 2. 自己紹介 ● 徳納 弘和 (とくのう ひろかず) ● 某社の工場のITシステム部門 ● 39才にしてIT部門へ移動して4年目 – 遅れを取り戻すべく日夜勉強中 ● 少し覚えた言語 – VBA, Java, Perl, Shell... ● コードを極力書かないのがお気に入り – Pentaho ETL, Mojolicious
  3. 3. 目的 ● サーバーにインストールするのは大人の事情で 無理!でもJenkins使って自動テストする ● 前提 – サーバーには何もインストールしない – 手元にはWindows PCがある – Windowsにも何もインストールしない – サーバーに直接ログイン出来るアカウントでテスト を実行出来る ● 得られる結果 – Jenkinsからサーバーでテストを実行、結果を収集
  4. 4. 用意するもの ● Putty Portable : サーバーへの接続 ● Jenkins : 継続的インテグレーションサーバー ● xUnitの何か – シェルのユニットテストshunit2を使ってみました ● 気合い
  5. 5. Putty Portable 1/2 鍵作成 ● PUTTYGENで鍵を生成する – %PuTTYPortable% ¥App¥putty¥PUTTYGEN.EXEを実行 – Generateを押す – マウスを元気よく動かす ● 秘密鍵をid_rsa.ppk,公開鍵を id_rsa.pub という名前で保存 – Key passphrase ● 鍵を使う時に必要なパスワードを設定 した方が良い – 秘密鍵 : Save private key – 公開鍵 : Save Public key
  6. 6. Putty Portable 2/2 鍵の登録 ● 公開鍵をサーバーにコピー – pscp id_rsa.pub yourname@mycompany.com:id_rsa.pub – 初めて接続する場合、以下のメッセージが出るのでyを押す The server's host key is not cached in the registry. ~中略~ Store key in cache? (y/n) ● サーバー上で公開鍵を登録 mkdir ~/.ssh chmod 700 ~/.ssh cd ~/.ssh ssh-keygen -i -f ~/id_rsa.pub >> authorized_keys chmod 600 authorized_keys rm ~/id_rsa.pub
  7. 7. Pagent ● 鍵を使う度にパスワードを聞かれない様に Pagentを使う %PuTTYPortable%AppputtyPAGEANT.EXE "%HOMEDRIVE%%HOMEPATH%id_rsa.ppk" ● スタートアップに入れると良いかも?
  8. 8. shunit2 ● shuni2 2.1系を展開 – 2.0系ではJenkinsがSuccess/Failure判定が出来ない – tar zxvf shunit2-2.1.6.tgz ~/Test/test_pass.sh #! /bin/sh testPass() { assertEquals 1 1 } # load shunit2 . ~/Test/shunit2 ~/Test/test_mix.sh #! /bin/sh testPass() { assertEquals 1 1 } testFail() { assetEquals 1 0 } # load shunit2 . ~/Test/shunit2
  9. 9. Jenkinsの設定 1/2 ● 先ずは起動 java -jar %Jenkins%jenkins.war ● 新規Job作成 – フリースタイルを選択
  10. 10. Jenkinsの設定 2/2 ● ビルド / ビルド手順の追加 / Windowsバッチコ マンドの実行 – PUTTY_PATHやRSA_FILEは環境に合わせて変えて 下さい setlocal set PUTTY_PATH="D:PortableAppsPuTTYPortableAppputty" set USER=your_user set SERVER=some_server set RSA_FILE="%HOMEDRIVE%%HOMEPATH%id_rsa.ppk" set SERVER_COMMAND=sh ~/Test/test_pass.sh %PUTTY_PATH%plink -batch -ssh -i %RSA_FILE% %USER%@%SERVER% %SERVER_COMMAND%
  11. 11. Jobの実行
  12. 12. 結果確認
  13. 13. 結果 1/2 Success ● 全ての結果がPassするとSuccessになる
  14. 14. 結果 2/2 Failure ● 1つでも失敗するとFailure
  15. 15. まとめ ● インストールしなくてもJenkinsで自動テストが 出来る – 手元のPCからサーバー側のスクリプトを実行 ● Jenkinsからサーバー上でのshunit2の結果を判 定出来た

×