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 次 |
| 最近记录: |