SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Jenkins without Install
About me
● TOKUNO, Hirokazu
● IT system at Manufacturing site
● 4th year since assigned to IT at age of 39
– Learning a lots to catch up
● Little experience
– VBA, Java, Perl, Shell...
● Love to minimize code
– Pentaho ETL, Mojolicious
Purpose
● Jenkins to manage automation test although no
install allowed to server
● Pre-conditions
– No install on server
– Have Windows PC
– No install on Windows
– An account that can directory login and execute test
● Expected Results
– Trigger test from Jenkins and collect results
Preparation
● Putty Portable : To connect server
● Jenkins : Continuous Integration server
● Some xUnit
– In this example, a unit test for shell shunit2 is used
● Passion!
Putty Portable 1/2 Generate key
● PUTTYGEN to generate key
– Run %PuTTYPortable%
¥App¥putty¥PUTTYGEN.EXE
– Click Generate
– Move mouse!!!!
● Save keys as id_rsa.ppk,
id_rsa.pub for private key and
publick key
– Key passphrase
● Better to set a password for using key,
not same as password to login server
Putty Portable 2/2 Register key
● Copy public key to server
– pscp id_rsa.pub yourname@mycompany.com:id_rsa.pub
– Type “Y” for first connection, following message shall be
displayed.
– The server's host key is not cached in the registry.
~ some lines ~
Store key in cache? (y/n)
● Register public key on server
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
● Use Pagent to omit password for every use
%PuTTYPortable%AppputtyPAGEANT.EXE "%HOMEDRIVE%%HOMEPATH%id_rsa.ppk"
● It may be good idea to put in startup
Shunit2
● Extract Shuni2 2.1
– 2.0 does not result Jenkins to judge 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
Configure Jenkins 1/2
● Launch Jenkins
java -jar %Jenkins%jenkins.war
● Create new Job
– Select free style
Configure Jenkins 2/2
● Build / Add build step / Execute Windows batch
command
– PUTTY_PATH and RSA_FILE shall be modified to
environment
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%
Execute Job
View Result
Result 1/2 Success
● Success if all test pass
Result 2/2 Failure
● Failure if any test failed
Conclusion
● Test can be executed from Jenkins without any
installation
– Script on server can be kicked from local PC
● Jenkins can judge the results from shunit2 on
server

Mais conteúdo relacionado

Mais procurados

Case report on post lasik ecstasia
Case report on post lasik ecstasiaCase report on post lasik ecstasia
Case report on post lasik ecstasiaMeenakshi Jha
 
Shallow introduction for Deep Learning Retinal Image Analysis
Shallow introduction for Deep Learning Retinal Image AnalysisShallow introduction for Deep Learning Retinal Image Analysis
Shallow introduction for Deep Learning Retinal Image AnalysisPetteriTeikariPhD
 
sutures and needles in ophthalmology
sutures and needles in ophthalmologysutures and needles in ophthalmology
sutures and needles in ophthalmologylalithafoundation
 
Phakic lens implantation, technique, complications & management by dr suresh...
Phakic lens implantation, technique, complications  & management by dr suresh...Phakic lens implantation, technique, complications  & management by dr suresh...
Phakic lens implantation, technique, complications & management by dr suresh...Suresh Pandey
 
Glaucoma drainage devices
Glaucoma drainage devicesGlaucoma drainage devices
Glaucoma drainage devicesmeenank
 
Advances in glaucoma surgeries
Advances in glaucoma surgeriesAdvances in glaucoma surgeries
Advances in glaucoma surgeriesKriti Chandra
 
Newer modalities in diagnosis of glaucoma
Newer modalities in diagnosis of glaucomaNewer modalities in diagnosis of glaucoma
Newer modalities in diagnosis of glaucomaBipin Bista
 

Mais procurados (11)

Case report on post lasik ecstasia
Case report on post lasik ecstasiaCase report on post lasik ecstasia
Case report on post lasik ecstasia
 
Shallow introduction for Deep Learning Retinal Image Analysis
Shallow introduction for Deep Learning Retinal Image AnalysisShallow introduction for Deep Learning Retinal Image Analysis
Shallow introduction for Deep Learning Retinal Image Analysis
 
sutures and needles in ophthalmology
sutures and needles in ophthalmologysutures and needles in ophthalmology
sutures and needles in ophthalmology
 
RECENT ADVANCES IN INTRAOCULAR LENS
RECENT ADVANCES IN INTRAOCULAR LENSRECENT ADVANCES IN INTRAOCULAR LENS
RECENT ADVANCES IN INTRAOCULAR LENS
 
Phakic lens implantation, technique, complications & management by dr suresh...
Phakic lens implantation, technique, complications  & management by dr suresh...Phakic lens implantation, technique, complications  & management by dr suresh...
Phakic lens implantation, technique, complications & management by dr suresh...
 
Glaucoma drainage devices
Glaucoma drainage devicesGlaucoma drainage devices
Glaucoma drainage devices
 
LASIK Eye Surgery
LASIK Eye SurgeryLASIK Eye Surgery
LASIK Eye Surgery
 
Advances in glaucoma surgeries
Advances in glaucoma surgeriesAdvances in glaucoma surgeries
Advances in glaucoma surgeries
 
Amblioppia and it's management
Amblioppia and it's managementAmblioppia and it's management
Amblioppia and it's management
 
Newer modalities in diagnosis of glaucoma
Newer modalities in diagnosis of glaucomaNewer modalities in diagnosis of glaucoma
Newer modalities in diagnosis of glaucoma
 
Visual acuity
Visual acuityVisual acuity
Visual acuity
 

Destaque

Libvirt and bhyve under FreeBSD
Libvirt and bhyve under FreeBSDLibvirt and bhyve under FreeBSD
Libvirt and bhyve under FreeBSDCraig Rodrigues
 
Commit messages - Good practices
Commit messages - Good practicesCommit messages - Good practices
Commit messages - Good practicesTarin Gamberini
 
Writing great documentation - CodeConf 2011
Writing great documentation - CodeConf 2011Writing great documentation - CodeConf 2011
Writing great documentation - CodeConf 2011Jacob Kaplan-Moss
 
Going Native With The OSGi Service Layer - Sascha Zelzer
Going Native With The OSGi Service Layer - Sascha ZelzerGoing Native With The OSGi Service Layer - Sascha Zelzer
Going Native With The OSGi Service Layer - Sascha Zelzermfrancis
 
Telling stories through your commits - Lead Developer Conference 2016
Telling stories through your commits - Lead Developer Conference 2016Telling stories through your commits - Lead Developer Conference 2016
Telling stories through your commits - Lead Developer Conference 2016Joel Chippindale
 
Continuous Integration with Jenkins and ANT
Continuous Integration with Jenkins and ANTContinuous Integration with Jenkins and ANT
Continuous Integration with Jenkins and ANTDavid Berliner
 
Protecting Source Code
Protecting Source CodeProtecting Source Code
Protecting Source CodeGodfrey Nolan
 
ガチ(?)対決!OSSのジョブ管理ツール
ガチ(?)対決!OSSのジョブ管理ツールガチ(?)対決!OSSのジョブ管理ツール
ガチ(?)対決!OSSのジョブ管理ツール賢 秋穂
 

Destaque (9)

Jenkins Reviewbot
Jenkins ReviewbotJenkins Reviewbot
Jenkins Reviewbot
 
Libvirt and bhyve under FreeBSD
Libvirt and bhyve under FreeBSDLibvirt and bhyve under FreeBSD
Libvirt and bhyve under FreeBSD
 
Commit messages - Good practices
Commit messages - Good practicesCommit messages - Good practices
Commit messages - Good practices
 
Writing great documentation - CodeConf 2011
Writing great documentation - CodeConf 2011Writing great documentation - CodeConf 2011
Writing great documentation - CodeConf 2011
 
Going Native With The OSGi Service Layer - Sascha Zelzer
Going Native With The OSGi Service Layer - Sascha ZelzerGoing Native With The OSGi Service Layer - Sascha Zelzer
Going Native With The OSGi Service Layer - Sascha Zelzer
 
Telling stories through your commits - Lead Developer Conference 2016
Telling stories through your commits - Lead Developer Conference 2016Telling stories through your commits - Lead Developer Conference 2016
Telling stories through your commits - Lead Developer Conference 2016
 
Continuous Integration with Jenkins and ANT
Continuous Integration with Jenkins and ANTContinuous Integration with Jenkins and ANT
Continuous Integration with Jenkins and ANT
 
Protecting Source Code
Protecting Source CodeProtecting Source Code
Protecting Source Code
 
ガチ(?)対決!OSSのジョブ管理ツール
ガチ(?)対決!OSSのジョブ管理ツールガチ(?)対決!OSSのジョブ管理ツール
ガチ(?)対決!OSSのジョブ管理ツール
 

Semelhante a Jenkins without Install

Creating a mature puppet system
Creating a mature puppet systemCreating a mature puppet system
Creating a mature puppet systemrkhatibi
 
Creating a Mature Puppet System
Creating a Mature Puppet SystemCreating a Mature Puppet System
Creating a Mature Puppet SystemPuppet
 
Loadays managing my sql with percona toolkit
Loadays managing my sql with percona toolkitLoadays managing my sql with percona toolkit
Loadays managing my sql with percona toolkitFrederic Descamps
 
Console Menu - pfSense Hangout December 2016
Console Menu - pfSense Hangout December 2016Console Menu - pfSense Hangout December 2016
Console Menu - pfSense Hangout December 2016Netgate
 
Hadoop single cluster installation
Hadoop single cluster installationHadoop single cluster installation
Hadoop single cluster installationMinh Tran
 
User Management and Privileges - pfSense Hangout February 2015
User Management and Privileges - pfSense Hangout February 2015User Management and Privileges - pfSense Hangout February 2015
User Management and Privileges - pfSense Hangout February 2015Netgate
 
Plone deployment made easy
Plone deployment made easyPlone deployment made easy
Plone deployment made easyKim Chee Leong
 
Speed up your development environment PHP + Nginx + Fedora + PG
Speed up your development environment PHP + Nginx + Fedora + PGSpeed up your development environment PHP + Nginx + Fedora + PG
Speed up your development environment PHP + Nginx + Fedora + PGMarcus Sá
 
Nagios Conference 2014 - Eric Mislivec - Getting Started With Nagios Core
Nagios Conference 2014 - Eric Mislivec - Getting Started With Nagios CoreNagios Conference 2014 - Eric Mislivec - Getting Started With Nagios Core
Nagios Conference 2014 - Eric Mislivec - Getting Started With Nagios CoreNagios
 
Ansible Automation to Rule Them All
Ansible Automation to Rule Them AllAnsible Automation to Rule Them All
Ansible Automation to Rule Them AllTim Fairweather
 
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...Puppet
 
No locked doors, no windows barred: hacking OpenAM infrastructure
No locked doors, no windows barred: hacking OpenAM infrastructureNo locked doors, no windows barred: hacking OpenAM infrastructure
No locked doors, no windows barred: hacking OpenAM infrastructureAndrew Petukhov
 
Hadoop meet Rex(How to construct hadoop cluster with rex)
Hadoop meet Rex(How to construct hadoop cluster with rex)Hadoop meet Rex(How to construct hadoop cluster with rex)
Hadoop meet Rex(How to construct hadoop cluster with rex)Jun Hong Kim
 
Fosdem managing my sql with percona toolkit
Fosdem managing my sql with percona toolkitFosdem managing my sql with percona toolkit
Fosdem managing my sql with percona toolkitFrederic Descamps
 
De-centralise and conquer: Masterless Puppet in a dynamic environment
De-centralise and conquer: Masterless Puppet in a dynamic environmentDe-centralise and conquer: Masterless Puppet in a dynamic environment
De-centralise and conquer: Masterless Puppet in a dynamic environmentSam Bashton
 
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic EnvironmentDe-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic EnvironmentPuppet
 

Semelhante a Jenkins without Install (20)

Creating a mature puppet system
Creating a mature puppet systemCreating a mature puppet system
Creating a mature puppet system
 
Creating a Mature Puppet System
Creating a Mature Puppet SystemCreating a Mature Puppet System
Creating a Mature Puppet System
 
Loadays managing my sql with percona toolkit
Loadays managing my sql with percona toolkitLoadays managing my sql with percona toolkit
Loadays managing my sql with percona toolkit
 
Console Menu - pfSense Hangout December 2016
Console Menu - pfSense Hangout December 2016Console Menu - pfSense Hangout December 2016
Console Menu - pfSense Hangout December 2016
 
Hadoop single cluster installation
Hadoop single cluster installationHadoop single cluster installation
Hadoop single cluster installation
 
User Management and Privileges - pfSense Hangout February 2015
User Management and Privileges - pfSense Hangout February 2015User Management and Privileges - pfSense Hangout February 2015
User Management and Privileges - pfSense Hangout February 2015
 
Plone deployment made easy
Plone deployment made easyPlone deployment made easy
Plone deployment made easy
 
Linux Hardening - Made Easy
Linux Hardening - Made EasyLinux Hardening - Made Easy
Linux Hardening - Made Easy
 
Speed up your development environment PHP + Nginx + Fedora + PG
Speed up your development environment PHP + Nginx + Fedora + PGSpeed up your development environment PHP + Nginx + Fedora + PG
Speed up your development environment PHP + Nginx + Fedora + PG
 
Nagios Conference 2014 - Eric Mislivec - Getting Started With Nagios Core
Nagios Conference 2014 - Eric Mislivec - Getting Started With Nagios CoreNagios Conference 2014 - Eric Mislivec - Getting Started With Nagios Core
Nagios Conference 2014 - Eric Mislivec - Getting Started With Nagios Core
 
Ansible Automation to Rule Them All
Ansible Automation to Rule Them AllAnsible Automation to Rule Them All
Ansible Automation to Rule Them All
 
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
 
No locked doors, no windows barred: hacking OpenAM infrastructure
No locked doors, no windows barred: hacking OpenAM infrastructureNo locked doors, no windows barred: hacking OpenAM infrastructure
No locked doors, no windows barred: hacking OpenAM infrastructure
 
Adhocr T-dose 2012
Adhocr T-dose 2012Adhocr T-dose 2012
Adhocr T-dose 2012
 
An Introduction To Linux
An Introduction To LinuxAn Introduction To Linux
An Introduction To Linux
 
Hadoop meet Rex(How to construct hadoop cluster with rex)
Hadoop meet Rex(How to construct hadoop cluster with rex)Hadoop meet Rex(How to construct hadoop cluster with rex)
Hadoop meet Rex(How to construct hadoop cluster with rex)
 
Fosdem managing my sql with percona toolkit
Fosdem managing my sql with percona toolkitFosdem managing my sql with percona toolkit
Fosdem managing my sql with percona toolkit
 
Linux boot process
Linux boot processLinux boot process
Linux boot process
 
De-centralise and conquer: Masterless Puppet in a dynamic environment
De-centralise and conquer: Masterless Puppet in a dynamic environmentDe-centralise and conquer: Masterless Puppet in a dynamic environment
De-centralise and conquer: Masterless Puppet in a dynamic environment
 
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic EnvironmentDe-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
 

Mais de Hirokazu Tokuno

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

Último

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Último (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

Jenkins without Install

  • 2. About me ● TOKUNO, Hirokazu ● IT system at Manufacturing site ● 4th year since assigned to IT at age of 39 – Learning a lots to catch up ● Little experience – VBA, Java, Perl, Shell... ● Love to minimize code – Pentaho ETL, Mojolicious
  • 3. Purpose ● Jenkins to manage automation test although no install allowed to server ● Pre-conditions – No install on server – Have Windows PC – No install on Windows – An account that can directory login and execute test ● Expected Results – Trigger test from Jenkins and collect results
  • 4. Preparation ● Putty Portable : To connect server ● Jenkins : Continuous Integration server ● Some xUnit – In this example, a unit test for shell shunit2 is used ● Passion!
  • 5. Putty Portable 1/2 Generate key ● PUTTYGEN to generate key – Run %PuTTYPortable% ¥App¥putty¥PUTTYGEN.EXE – Click Generate – Move mouse!!!! ● Save keys as id_rsa.ppk, id_rsa.pub for private key and publick key – Key passphrase ● Better to set a password for using key, not same as password to login server
  • 6. Putty Portable 2/2 Register key ● Copy public key to server – pscp id_rsa.pub yourname@mycompany.com:id_rsa.pub – Type “Y” for first connection, following message shall be displayed. – The server's host key is not cached in the registry. ~ some lines ~ Store key in cache? (y/n) ● Register public key on server 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. Pagent ● Use Pagent to omit password for every use %PuTTYPortable%AppputtyPAGEANT.EXE "%HOMEDRIVE%%HOMEPATH%id_rsa.ppk" ● It may be good idea to put in startup
  • 8. Shunit2 ● Extract Shuni2 2.1 – 2.0 does not result Jenkins to judge 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. Configure Jenkins 1/2 ● Launch Jenkins java -jar %Jenkins%jenkins.war ● Create new Job – Select free style
  • 10. Configure Jenkins 2/2 ● Build / Add build step / Execute Windows batch command – PUTTY_PATH and RSA_FILE shall be modified to environment 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%
  • 13. Result 1/2 Success ● Success if all test pass
  • 14. Result 2/2 Failure ● Failure if any test failed
  • 15. Conclusion ● Test can be executed from Jenkins without any installation – Script on server can be kicked from local PC ● Jenkins can judge the results from shunit2 on server