jenkins通过Execute shell中通过scp/ssh命令,将一台机器中项目远程拷贝到另外一台机器,修改文件中内容
生活随笔
收集整理的這篇文章主要介紹了
jenkins通过Execute shell中通过scp/ssh命令,将一台机器中项目远程拷贝到另外一台机器,修改文件中内容
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、前置條件
安裝expect
yum install expect -y2、在Execute shell中編寫如下命令
在jenkins中執行以下命令的時候,前提條件是現在jenkins機器上手動執行一下ssh,scp下的命令
export BUILD_ID=DONTKILLME export JAVA_HOME=/usr/local/jdkexpect -c " spawn scp -r /root/.jenkins/workspace/youprojectPath remoteUsername@remoteip:/usr/local/work/ expect { \"*assword\" {set timeout 300; send \"youpassword\n\";} \"yes/no\" {send \"yes\n\"; exp_continue;} } expect eof" export BUILD_ID=DONTKILLME export JAVA_HOME=/usr/local/jdkexpect -c " spawn ssh test@ip \"cd /home/test/temp; sh jenkins-test.sh;\" expect {\"*assword\" {set timeout 300; send \"test\n\";}\"yes/no\" {send \"yes\r\"; exp_continue;}} expect eof"export BUILD_ID=DONTKILLMEexpect -c " spawn scp -r /root/.jenkins/workspace/cplan.test.qd-admin-project/youxuan-webapp/target/youxuan_webapp test@ip2:/home/test/apache-tomcat-7.0.85/webapps expect { \"*assword\" {set timeout 300; send \"test\n\";} \"yes/no\" {send \"yes\n\"; exp_continue;} } expect eof"expect -c " spawn ssh test@ip \"cd /home/test/apache-tomcat-7.0.85/webapps;mv youxuan_webapp qd-admin-project; cd /home/test/apache-tomcat-7.0.85/bin/;export JAVA_HOME=/home/test/jdk1.7.0_80; sh startup.sh;\" expect {\"*assword\" {set timeout 300; send \"test\n\";}\"yes/no\" {send \"yes\r\"; exp_continue;}} expect eof"其中jenkins-test.sh的內容如下:
tomcatPid=`ps -ef | grep apache-tomcat-7.0.85 | grep -v grep | awk '{print $2}'` kill -9 $tomcatPidtomcatPid=`ps -ef | grep apache-tomcat-7.0.85 | grep -v grep | awk '{print $2}'` echo $tomcatPidcd /home/test/apache-tomcat-7.0.85/webapps rm -rf qd-admin-project*參考另外一篇博文:
https://blog.csdn.net/tototuzuoquan/article/details/80290091修改文件中的內容案例:
sed 's/-developing/-release/g' pom.xml > pom2.xml rm -rf pom.xml mv pom2.xml pom.xml總結
以上是生活随笔為你收集整理的jenkins通过Execute shell中通过scp/ssh命令,将一台机器中项目远程拷贝到另外一台机器,修改文件中内容的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么复制东西到u盘 将文件复制至U盘的方
- 下一篇: w7玩lol全屏怎么办 &quo