Nei*_*eil 14 linux bash shell jenkins jenkins-pipeline
我最近将bash执行命令重写为Jenkins管道.旧代码就像
...
source environment.sh
//Build
//Test
...
Run Code Online (Sandbox Code Playgroud)
现在我使用管道脚本来包装命令,就像这样
sh '''
...
source environment.sh
//Build
//Test
...
'''
Run Code Online (Sandbox Code Playgroud)
但是,我收到了一个错误,因为.../.jenkins/script.sh: line 9: source: environment.sh: file not found
.当我尝试时less environment.sh
,它显示正确.所以我怀疑有毛病source command
内sh wrap
.
在使用管道之前,source environment.sh
命令在shell执行中正常工作.所以源代码安装在Jenkins服务器上,似乎管道脚本不知道源代码是什么.
如何在sh包装块中运行source命令?
Ste*_*hen 15
替换source environment.sh
为
. ./environment.sh
Run Code Online (Sandbox Code Playgroud)
请注意,第一个点后面有一个空格.
source
是一个bash
/ ksh
/ etc扩展,作为更"实质"的同义词提供.
.
在sh
,您需要使用.
以防底层shell是一个(例如dash
)不支持该命令source
.
sh '''
...
. environment.sh
//Build
//Test
...
'''
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14378 次 |
最近记录: |