linux - 在 Linux 主机上通过 jenkins 运行 powershell 脚本

标签 linux powershell jenkins

我有一个从 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/

相关文章:

linux - 通过在触发器列中创建动态来使用存储过程创建触发器

powershell - 使用 powershell 将环境类型设置为 reg_expand_sz

Powershell脚本来定位特定文件/文件名?

jenkins - 使用 Jenkins 声明性管道从其他作业获取工件

jenkins - 没有权限从其他项目 Jenkins 构建

jenkins - 如何在 Jenkins 开始重建?

c - 管道 & 执行 & C

c++ - 是否可以要求 Linux 在套接字读取期间黑洞字节?

python - 在没有互联网连接的情况下运行 sudo apt-get install

powershell - 具有用户帐户启用状态的 Get-ADGroupMembers