自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

[[427411]]

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

執(zhí)行shell命令

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

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

  1. sh "cd myfile" 

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

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

  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 腳本

有一個需求,從配置文件中讀取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)行,會提示是否加入),加入后在Dashboard>ScriptApproval頁面可以看到相關(guān)結(jié)果,如下圖所示:

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

調(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就會賦值給變量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

2022-02-21 11:21:40

golang編程語言

2016-01-05 11:28:20

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

2024-08-12 10:13:01

2024-09-10 09:05:12

SpringREST并發(fā)

2016-05-09 10:41:03

算法分析開發(fā)

2018-01-11 15:31:39

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

2020-02-24 15:26:40

Python短信免費(fèi)

2023-01-06 08:24:00

PandasPython

2021-09-13 12:45:08

Ubuntu 20.0PythonLinux

2017-03-16 11:39:33

Openstack源碼姿勢

2023-01-30 07:41:43

2021-07-12 11:35:13

Go協(xié)程Goroutine

2020-08-31 06:54:37

注解脫敏ELK

2021-04-20 22:27:22

Python軟件包GitHub

2017-08-28 14:28:44

Python文檔編程正確姿勢

2016-12-12 08:48:24

點(diǎn)贊
收藏

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