Publish Over SSH(ssh插件)
用于連接ssh服務器,然后在該服務器上做一些操作。例如連接服務器,部署服務到該服務器上
1、在插件庫中查找安裝
2、 Manager Jenkins->系統(tǒng)配置->Publish over SSH
3、全局配置
添加服務器列表注意
添加完點擊Test Configuration確保服務器配置能連接成功
4、項目中如何使用
安裝好插件后,上傳文件到其他服務器上要選擇Send files or execute commands over SSH
注意
- 1、SSH Server Name
表示要連接那臺服務器上傳文件(在全局配置中選擇已經(jīng)添加的服務器列表,此處可以配置多個服務器,集群中常見較多)
- 2、Source files
1、本機要上傳的文件(選擇要上傳的文件,可以通配符,上傳符合通配符的所有文件)
2、可以填寫多個,默認用,分隔
3、路徑一定要寫對,是相對于你配置的項目路徑下,是相對路徑(如何確定?看下圖)
- 3、Remove prefix
去除前綴,會刪除掉無用的目錄,此目錄指的是上傳到目標服務器的路徑
- 4、Remote directory
遠程目錄(就是連接到該服務器、上傳jar包以及其他文件到該目錄下)
- 5、Exec command上傳完成之后做的操作
此處本人做了上傳后,生成docker鏡像、在docker中啟動容器
echo "=============================="
echo "====傳輸完成、在新服務器中啟動服務======"
echo "=============================="
#!/bin/bash
source ~/.bash_profile
source /etc/profile
containerName="jenkins-demo"
PROJECT_NAME="jenkins-demo-dockerfile"
echo "=====*****=====停止$containerName容器"
docker stop `docker ps -a| grep $containerName | awk '{print $1}' `
echo "=====*****=====刪除$containerName容器"
docker rm `docker ps -a| grep $containerName | awk '{print $1}' `
echo "=====*****=====刪除$containerName鏡像"
docker image rm `docker images -q --filter reference=$containerName*:*`
echo "=====*****=====刪除<none>的鏡像---start"
noneImages="<none>"
noneImagesId=$(docker images | grep $noneImages | awk '{print $3}')
if [ -n "$noneImagesId" ]
then
echo "=====*****=====prepare to remove old image"
docker rmi $noneImagesId
echo "=====*****=====remove $noneImagesId success"
else
echo "=====*****=====no such image"
fi
echo "=====*****=====刪除<none>的鏡像---end"
echo "=====*****=====進入jar包和Dockerfile目錄"
cd /root/usr/local/software/javaJar/jenkins-cloud-project
# echo "=====*****=====新建dockerImg文件"
# mv target/jenkins-demo-1.1.0.jar ../jenkins-cloud-project/
# mv jenkins-demo-1.1.0.jar $containerName.jar
# rm -rf target
mkdir -vp /usr/local/software/dockerImg/$containerName/target
\cp -R ../jenkins-cloud-project/* /usr/local/software/dockerImg/jenkins-demo
cd /usr/local/software/dockerImg/$containerName
echo "=====*****=====構建鏡像=====*****====="
docker build -f Dockerfile -t $containerName .
echo "=====*****=====docker啟動容器"
docker run --name $containerName -d -p 8881:8881 --network=host $containerName
數(shù)據(jù)流重定向
eg: nohup java -jar jenkins-demo.jar >mylog.log 2>&1 &
數(shù)據(jù)流重定向就是將某個命令執(zhí)行后應該要出現(xiàn)在屏幕上的數(shù)據(jù)傳輸?shù)狡渌胤?
標準輸入(stdin):代碼為0,使用<或<<;
標準輸出(stdout):代碼為1,使用>或>>;
標準錯誤輸出(stderr):代碼為2,使用2>或2>>
\> 覆蓋寫
\>> 追加寫
5、啟動日志
開啟傳輸日志的打印
6、服務器信息
文章來源:http://www.zghlxwxcb.cn/news/detail-401480.html
7、啟動訪問后的服務
文章來源地址http://www.zghlxwxcb.cn/news/detail-401480.html
到了這里,關于Publish Over SSH插件的使用(jenkins遠程服務器發(fā)送文件)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!