成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Jenkins Pipeline調(diào)用Shell、Python、Java腳本的正確使用姿勢(shì)

開發(fā) 前端
在設(shè)計(jì)Pipeline腳本的過程中,經(jīng)常會(huì)遇到調(diào)用外部腳本來配合實(shí)現(xiàn)某些功能的場(chǎng)景。例如在服務(wù)器上執(zhí)行shell命令、運(yùn)行python或者java測(cè)試代碼以及使用groovy腳本來實(shí)現(xiàn)一些更為復(fù)雜的功能等等。

[[427411]]

在設(shè)計(jì)Pipeline腳本的過程中,經(jīng)常會(huì)遇到調(diào)用外部腳本來配合實(shí)現(xiàn)某些功能的場(chǎng)景。例如在服務(wù)器上執(zhí)行shell命令、運(yùn)行python或者java測(cè)試代碼以及使用groovy腳本來實(shí)現(xiàn)一些更為復(fù)雜的功能等等。下面我就會(huì)針對(duì)這三種最常用的腳本使用場(chǎng)景進(jìn)行詳細(xì)說明!

執(zhí)行shell命令

1.使用 sh "" 就可以完成執(zhí)行shell命令的操作。

例如:進(jìn)入某個(gè)目錄

  1. sh "cd myfile" 

2.多條shell命令的組合使用,需要使用;進(jìn)行連接

例如:進(jìn)入某個(gè)目錄,然后刪除目錄中的所有文件

  1. sh "cd myfile;rm -rf *.*" 

3.執(zhí)行shell命令并獲取其返回值

  1. result = sh(script: "", returnStdout: true).trim() 

例如:在jenkins的當(dāng)前目錄中查找是否有pom.xml文件

  1. def exitValue = sh(script: "find ${WORKSPACE} -name pom.xml", returnStdout: true).trim() 
  2. if (exitValue.empty){ 
  3. //沒有找到,進(jìn)行邏輯處理 

使用groovy 腳本

有一個(gè)需求,從配置文件中讀取url信息,我們可以通過groovy腳本實(shí)現(xiàn),具體代碼實(shí)現(xiàn)如下:

  1. file = new File(filePath) 
  2. urls = file.readLines() 

 注意,需要把File 和readLines加入到j(luò)enkins的Script Approval中(首次運(yùn)行,會(huì)提示是否加入),加入后在Dashboard>ScriptApproval頁面可以看到相關(guān)結(jié)果,如下圖所示:

Jenkins Pipeline調(diào)用shell、python、java腳本的正確使用姿勢(shì)

調(diào)用java或者python腳本

本質(zhì)上就是通過sh來運(yùn)行py或者java腳本,我們以運(yùn)行python腳本為例,代碼如下:

1.執(zhí)行腳本yourscript.py

  1. sh" /usr/bin/python yourscript.py" 

2.執(zhí)行腳本yourscript.py,并傳入?yún)?shù)param

  1. sh"/usr/bin/python yourscript.py param" 

3.pipeline中獲取shell命令的標(biāo)準(zhǔn)輸出方法如下:

舉例:執(zhí)行python 腳本獲取其返回值

定義pyscript.py代碼如下,目的是輸出test

  1. def func1(): 
  2.       print "test" 
  3. func1() 

我們可以用下面的方法獲取輸出的test的值

  1. def str = sh(script:"/usr/bin/python /opt/scripts/test/pyscript.py", returnStdout:true).trim() 

執(zhí)行代碼后,test就會(huì)賦值給變量str。

 

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2017-02-23 15:37:44

OptionObject容器

2022-03-28 11:10:35

ShellBash forLinux

2017-07-10 13:09:45

前端Flexbox

2021-09-15 16:20:02

Spring BootFilterJava

2016-01-05 11:28:20

按需付費(fèi)云計(jì)算docker

2018-01-11 15:31:39

命令Linux關(guān)機(jī)

2022-02-21 11:21:40

golang編程語言

2024-09-10 09:05:12

SpringREST并發(fā)

2024-08-12 10:13:01

2020-02-24 15:26:40

Python短信免費(fèi)

2016-05-09 10:41:03

算法分析開發(fā)

2023-01-06 08:24:00

PandasPython

2017-03-16 11:39:33

Openstack源碼姿勢(shì)

2023-01-30 07:41:43

2021-09-13 12:45:08

Ubuntu 20.0PythonLinux

2020-08-31 06:54:37

注解脫敏ELK

2021-07-12 11:35:13

Go協(xié)程Goroutine

2017-10-12 11:30:34

Spark代碼PR

2021-01-08 08:10:34

MySQL表空間回收

2017-08-28 14:28:44

Python文檔編程正確姿勢(shì)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产激情视频 | 99精品国产一区二区三区 | www.狠狠干 | 国产激情毛片 | 欧美精品日韩精品 | 国产三级电影网站 | 久草新在线 | 午夜影院在线观看 | 欧美国产亚洲一区二区 | 亚洲国产成人一区二区 | 久久久久av | 国产精品国产精品国产专区不蜜 | 国产精品美女一区二区 | 国产大毛片 | 欧美国产日韩在线 | 天堂三级| 精品视频 免费 | 2018天天干天天操 | 国产欧美日韩久久久 | 亚洲精品99 | 久久99久久久久 | 1级毛片 | 国产日韩欧美一区二区 | 欧美日韩在线一区二区 | 国产亚洲精品精品国产亚洲综合 | 国产精品区二区三区日本 | 日本特黄特色aaa大片免费 | 欧美精品在线播放 | 成人午夜看片 | 国产精品久久亚洲 | 成人自拍视频网站 | 91亚洲一区 | 国产精品久久久久久吹潮 | 久久欧美高清二区三区 | 国产不卡一 | 国产精品久久久久久久久免费丝袜 | 欧美一区二区三区免费在线观看 | 男女视频在线看 | com.色.www在线观看 | 91国产在线播放 | 国产高清区 |