我有一个从 bitbucket 存储库克隆到我的工作区的 powershell 脚本。如果我登录到 jenkins 服务器 cli,我可以通过执行以下操作来运行它
cd /var/lib/jenkins/workspace/powershell
pwsh
./psscript.ps1
这按预期运行正常,但是当我尝试通过 jenkins 运行它时,出现错误
/tmp/jenkins2117772455970634975.sh: line 3: ./psscript.ps1: Permission denied
我的 Jenkins 用户是
user.name netuser
当我从 pwsh cli 控制台和 linux cli 上执行 whoami 时,我得到了同样的结果
PS /var/lib/jenkins/workspace/powershell> whoami
netuser
[netuser@server1]$ whoami
netuser
显示 Jenkins 用户
[netuser@server1]$ ps axufwwww | grep 'jenkins\|java' -
netuser 31903 0.0 0.0 112660 980 pts/1 S+ 22:15 0:00 \_ grep --color=auto jenkins\|java -
最佳答案
这里是如何在管道中使用它的很好的引用。
https://www.jenkins.io/blog/2017/07/26/powershell-pipeline/
他们添加了对 powershell 核心的支持。请参阅此处
https://github.com/jenkinsci/workflow-durable-task-step-plugin/blob/master/CHANGELOG.md
以下是如何在管道中使用它。
pipeline {
agent any
stages {
stage ("PowershellDemo") {
steps {
pwsh ( returnStatus: true, script: "&.\psscript.ps1")
}
}
}
}
关于linux - 在 Linux 主机上通过 jenkins 运行 powershell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51332613/