Mat*_*eum 1 git bash shell jenkins jenkins-pipeline
我正在使用jenkinsfile测试我们的一个实例。为此,我创建了一个bash脚本。问题是jenkins没有运行脚本的权限。任何想法如何解决这个问题?
Jenkinsfile:
stage("Testing instances"){
if (terragruntAction == 'apply' || terragruntAction == 'test'){
echo "Testing"
sh '../check_services.sh'
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
../check_services.sh:权限被拒绝
我试着做:
git update-index --chmod=+x check_services.sh
Run Code Online (Sandbox Code Playgroud)
在詹金斯(Jenkins)签出的git文件夹上,但是没有运气。
任何帮助,在此先感谢!
我的偏好是将单个文件的访问权限保留在我的 git 存储库之外,而是倾向于在管道内部处理此问题的方法。只需在执行脚本之前运行 chmod,即可授予工作区权限。使用声明:
stage('My Stage') {
steps {
sh "chmod +x -R ${env.WORKSPACE}"
sh "./my-script.sh"
}
}
Run Code Online (Sandbox Code Playgroud)
注意:对于那些还不知道这一点的人,另一个要求是明确告诉管道脚本相对于工作区的位置。仅使用 sh "my-script.sh" 是行不通的。
| 归档时间: |
|
| 查看次数: |
3682 次 |
| 最近记录: |