我想通过管道脚本作为参数读取来运行GIT命令,该脚本具有文本字段,并且在第一次归档时,我能够读取并能够克隆代码而没有任何问题。
但是在第二个文本中,我需要用“ =”分割命令,第一部分将给出文件夹名称,并且必须输入文件夹(cd)并需要执行命令的第二部分。
我可以进入该文件夹,但无法执行命令
出现以下错误
workspace/Test_Groovy_PL@tmp/durable-35d68464/script.sh: line 16: git pull && git fetch --tags && git checkout -b abc rele-1: command not found
有人可以提出建议吗,我需要在哪里进行更改,以便提取并获取代码
pipeline{
agent any
parameters{
text(name: 'GitCheckOutURLs')
text(name: 'Branches')
}
stages{
stage("Clone and Checkout"){
steps{
deleteDir()
sh '''
urls=$GitCheckOutURLs
IFS=$'\n' GitCheckOutURLs1=($urls)
for urls1 in "${GitCheckOutURLs1[@]}"
do
git clone $urls1
done
'''
}
}
stage("Clone and Checkout1"){
steps{
sh '''
CheckoutBranches=$Branches
IFS=$'\n' CheckOutURLs1=(${CheckoutBranches//$'\n'/ })
IFS=$'\n' CheckOutURLs1=($CheckoutBranches)
for checkout1 in "${CheckOutURLs1[@]}"
do
IFS=$'\n' checkout2=(${checkout1//$'\n'/ })
IFS=$'=' checkout2=($checkout1)
cd $WORKSPACE/${checkout2[0]}
${checkout2[1]}
done
'''
}
Parameters:
GitCheckOutURLs:
ssh://git@......./dt.git
ssh://git@......./vss.git
Branches:
dt=git pull && git fetch --tags && git checkout -b abc rele-1
vss=git pull && git fetch --tags && git checkout -b xyz rele-2
如果我将 $ {checkout2 [1]}替换为git pull .. ,则脚本可以正常工作,但无法使用变量执行相同的命令。