SlideShare a Scribd company logo
1 of 15
Download to read 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

More Related Content

What's hot

다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트Amazon Web Services Korea
 
AWS solution Architect Associate study material
AWS solution Architect Associate study materialAWS solution Architect Associate study material
AWS solution Architect Associate study materialNagesh Ramamoorthy
 
Microsoft Active Directory Deep Dive
Microsoft Active Directory Deep DiveMicrosoft Active Directory Deep Dive
Microsoft Active Directory Deep DiveAmazon Web Services
 
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021Amazon Web Services Korea
 
Az 104 session 5: Azure networking
Az 104 session 5: Azure networkingAz 104 session 5: Azure networking
Az 104 session 5: Azure networkingAzureEzy1
 
Introducing AWS Elastic Beanstalk
Introducing AWS Elastic BeanstalkIntroducing AWS Elastic Beanstalk
Introducing AWS Elastic BeanstalkAmazon Web Services
 
Introduction to DevOps and the AWS Code Services
Introduction to DevOps and the AWS Code ServicesIntroduction to DevOps and the AWS Code Services
Introduction to DevOps and the AWS Code ServicesAmazon Web Services
 
Configuration as Code in Bamboo
Configuration as Code in BambooConfiguration as Code in Bamboo
Configuration as Code in BambooAtlassian
 
Amazon Route 53 - Webinar Presentation 9.16.2015
Amazon Route 53 - Webinar Presentation 9.16.2015Amazon Route 53 - Webinar Presentation 9.16.2015
Amazon Route 53 - Webinar Presentation 9.16.2015Amazon Web Services
 
Power shell basics day 4
Power shell basics day 4Power shell basics day 4
Power shell basics day 4Ashish Raj
 
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)Amazon Web Services Korea
 
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인Amazon Web Services Korea
 
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon Web Services Korea
 
Az 104 session 4: azure storage
Az 104 session 4: azure storageAz 104 session 4: azure storage
Az 104 session 4: azure storageAzureEzy1
 

What's hot (20)

다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트
 
AWS solution Architect Associate study material
AWS solution Architect Associate study materialAWS solution Architect Associate study material
AWS solution Architect Associate study material
 
Microsoft Active Directory Deep Dive
Microsoft Active Directory Deep DiveMicrosoft Active Directory Deep Dive
Microsoft Active Directory Deep Dive
 
AWS 101
AWS 101AWS 101
AWS 101
 
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
 
AWS Elastic Beanstalk
AWS Elastic BeanstalkAWS Elastic Beanstalk
AWS Elastic Beanstalk
 
Az 104 session 5: Azure networking
Az 104 session 5: Azure networkingAz 104 session 5: Azure networking
Az 104 session 5: Azure networking
 
Introducing AWS Elastic Beanstalk
Introducing AWS Elastic BeanstalkIntroducing AWS Elastic Beanstalk
Introducing AWS Elastic Beanstalk
 
Introduction to DevOps and the AWS Code Services
Introduction to DevOps and the AWS Code ServicesIntroduction to DevOps and the AWS Code Services
Introduction to DevOps and the AWS Code Services
 
Configuration as Code in Bamboo
Configuration as Code in BambooConfiguration as Code in Bamboo
Configuration as Code in Bamboo
 
Amazon Route 53 - Webinar Presentation 9.16.2015
Amazon Route 53 - Webinar Presentation 9.16.2015Amazon Route 53 - Webinar Presentation 9.16.2015
Amazon Route 53 - Webinar Presentation 9.16.2015
 
Introduction to Amazon EC2
Introduction to Amazon EC2Introduction to Amazon EC2
Introduction to Amazon EC2
 
Power shell basics day 4
Power shell basics day 4Power shell basics day 4
Power shell basics day 4
 
Understanding Azure AD
Understanding Azure ADUnderstanding Azure AD
Understanding Azure AD
 
AWS Technical Essentials Day
AWS Technical Essentials DayAWS Technical Essentials Day
AWS Technical Essentials Day
 
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
 
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
AWS Control Tower를 통한 클라우드 보안 및 거버넌스 설계 - 김학민 :: AWS 클라우드 마이그레이션 온라인
 
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
 
Az 104 session 4: azure storage
Az 104 session 4: azure storageAz 104 session 4: azure storage
Az 104 session 4: azure storage
 
Selenium Demo
Selenium DemoSelenium Demo
Selenium Demo
 

Viewers also liked

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のジョブ管理ツール賢 秋穂
 

Viewers also liked (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のジョブ管理ツール
 

Similar to 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
 

Similar to 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
 

More from 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
 

More from 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
 

Recently uploaded

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
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
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
 
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
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

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
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
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
 
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)
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
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!
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

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