SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
インストールしないでJenkins
自己紹介
● 徳納 弘和 (とくのう ひろかず)
● 某社の工場のITシステム部門
● 39才にしてIT部門へ移動して4年目
– 遅れを取り戻すべく日夜勉強中
● 少し覚えた言語
– VBA, Java, Perl, Shell...
● コードを極力書かないのがお気に入り
– Pentaho ETL, Mojolicious
目的
● サーバーにインストールするのは大人の事情で
無理!でもJenkins使って自動テストする
● 前提
– サーバーには何もインストールしない
– 手元にはWindows PCがある
– Windowsにも何もインストールしない
– サーバーに直接ログイン出来るアカウントでテスト
を実行出来る
● 得られる結果
– Jenkinsからサーバーでテストを実行、結果を収集
用意するもの
● Putty Portable : サーバーへの接続
● Jenkins : 継続的インテグレーションサーバー
● xUnitの何か
– シェルのユニットテストshunit2を使ってみました
● 気合い
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
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
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/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
Jenkinsの設定 1/2
● 先ずは起動
java -jar %Jenkins%jenkins.war
● 新規Job作成
– フリースタイルを選択
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%
Jobの実行
結果確認
結果 1/2 Success
● 全ての結果がPassするとSuccessになる
結果 2/2 Failure
● 1つでも失敗するとFailure
まとめ
● インストールしなくてもJenkinsで自動テストが
出来る
– 手元のPCからサーバー側のスクリプトを実行
● Jenkinsからサーバー上でのshunit2の結果を判
定出来た

Mais conteúdo relacionado

Semelhante a Jenkins without Install

継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
Takayuki Kondou
 
Net なプロジェクトでも jenkins を使ってみた
Net なプロジェクトでも jenkins を使ってみたNet なプロジェクトでも jenkins を使ってみた
Net なプロジェクトでも jenkins を使ってみた
Oda Shinsuke
 
Jenkins & Test
Jenkins & TestJenkins & Test
Jenkins & Test
irof N
 
社内勉強会LT資料(進化せよ!原始時代の開発から脱却せよ)
社内勉強会LT資料(進化せよ!原始時代の開発から脱却せよ)社内勉強会LT資料(進化せよ!原始時代の開発から脱却せよ)
社内勉強会LT資料(進化せよ!原始時代の開発から脱却せよ)
Fumihiro Sunada
 

Semelhante a Jenkins without Install (20)

Jenkinsを利用したCI、弊社導入事例
Jenkinsを利用したCI、弊社導入事例Jenkinsを利用したCI、弊社導入事例
Jenkinsを利用したCI、弊社導入事例
 
恋するJenkins
恋するJenkins恋するJenkins
恋するJenkins
 
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
 
Net なプロジェクトでも jenkins を使ってみた
Net なプロジェクトでも jenkins を使ってみたNet なプロジェクトでも jenkins を使ってみた
Net なプロジェクトでも jenkins を使ってみた
 
Jenkins & Test
Jenkins & TestJenkins & Test
Jenkins & Test
 
やって分かった自動テスト
やって分かった自動テストやって分かった自動テスト
やって分かった自動テスト
 
Kintoneでエンジニアが納得のいく社内システムをつくる
Kintoneでエンジニアが納得のいく社内システムをつくるKintoneでエンジニアが納得のいく社内システムをつくる
Kintoneでエンジニアが納得のいく社内システムをつくる
 
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみようXpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
 
Jenkinsのある生活
Jenkinsのある生活Jenkinsのある生活
Jenkinsのある生活
 
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテストビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテスト
 
2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source
 
cs-11. Python の条件分岐と繰り返し,ステップ実行
cs-11. Python の条件分岐と繰り返し,ステップ実行cs-11. Python の条件分岐と繰り返し,ステップ実行
cs-11. Python の条件分岐と繰り返し,ステップ実行
 
受託開発でAnsibleを導入した話
受託開発でAnsibleを導入した話受託開発でAnsibleを導入した話
受託開発でAnsibleを導入した話
 
退屈なブラウザ作業をpuppeteerにやらせたいお話
退屈なブラウザ作業をpuppeteerにやらせたいお話退屈なブラウザ作業をpuppeteerにやらせたいお話
退屈なブラウザ作業をpuppeteerにやらせたいお話
 
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門
 
Jenkins使ってみた~Windows編~
Jenkins使ってみた~Windows編~Jenkins使ってみた~Windows編~
Jenkins使ってみた~Windows編~
 
Jenkins実践入門目次チラ見せしちゃいます
Jenkins実践入門目次チラ見せしちゃいますJenkins実践入門目次チラ見せしちゃいます
Jenkins実践入門目次チラ見せしちゃいます
 
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について
 
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
 
社内勉強会LT資料(進化せよ!原始時代の開発から脱却せよ)
社内勉強会LT資料(進化せよ!原始時代の開発から脱却せよ)社内勉強会LT資料(進化せよ!原始時代の開発から脱却せよ)
社内勉強会LT資料(進化せよ!原始時代の開発から脱却せよ)
 

Mais de Hirokazu Tokuno

Mais de Hirokazu Tokuno (20)

ChatGPTでしりとり
ChatGPTでしりとりChatGPTでしりとり
ChatGPTでしりとり
 
ChatGPTのLINEボット
ChatGPTのLINEボットChatGPTのLINEボット
ChatGPTのLINEボット
 
初めてのRoblox.pdf
初めてのRoblox.pdf初めてのRoblox.pdf
初めてのRoblox.pdf
 
プログラミング講座【小学校高学年向け】 R4-20221227.pdf
プログラミング講座【小学校高学年向け】 R4-20221227.pdfプログラミング講座【小学校高学年向け】 R4-20221227.pdf
プログラミング講座【小学校高学年向け】 R4-20221227.pdf
 
プログラミング講座【小学校高学年向け】 R3-20211128.pdf
プログラミング講座【小学校高学年向け】 R3-20211128.pdfプログラミング講座【小学校高学年向け】 R3-20211128.pdf
プログラミング講座【小学校高学年向け】 R3-20211128.pdf
 
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
(非公式) 福島県 新型コロナウイルス感染症対策サイトに 貢献しよう
 
Stripe触ってみた! Jekyll + AWS S3に組み込み
Stripe触ってみた! Jekyll + AWS S3に組み込みStripe触ってみた! Jekyll + AWS S3に組み込み
Stripe触ってみた! Jekyll + AWS S3に組み込み
 
福島県職員向けプログラミング
福島県職員向けプログラミング福島県職員向けプログラミング
福島県職員向けプログラミング
 
<女性限定>在宅ワーク講座 公開版 Django入門
<女性限定>在宅ワーク講座 公開版 Django入門<女性限定>在宅ワーク講座 公開版 Django入門
<女性限定>在宅ワーク講座 公開版 Django入門
 
会社作ってみた
会社作ってみた会社作ってみた
会社作ってみた
 
小学校先生向けプログラミングワークショップ
小学校先生向けプログラミングワークショップ小学校先生向けプログラミングワークショップ
小学校先生向けプログラミングワークショップ
 
シビックテックの勧め
シビックテックの勧めシビックテックの勧め
シビックテックの勧め
 
徳納的シビックテック
徳納的シビックテック徳納的シビックテック
徳納的シビックテック
 
マイコンボード色々 2017.03
マイコンボード色々 2017.03マイコンボード色々 2017.03
マイコンボード色々 2017.03
 
マイコンボード色々
マイコンボード色々マイコンボード色々
マイコンボード色々
 
Kickstart, Puppet, Docker
Kickstart, Puppet, DockerKickstart, Puppet, Docker
Kickstart, Puppet, Docker
 
IoT without Wiring
IoT without WiringIoT without Wiring
IoT without Wiring
 
電子工作部(未公認) 第一回 後付け資料
電子工作部(未公認) 第一回 後付け資料電子工作部(未公認) 第一回 後付け資料
電子工作部(未公認) 第一回 後付け資料
 
One Button
One ButtonOne Button
One Button
 
コードを書かずにIoT, IoT without-coding
コードを書かずにIoT, IoT without-codingコードを書かずにIoT, IoT without-coding
コードを書かずにIoT, IoT without-coding
 

Jenkins without Install