代码之家  ›  专栏  ›  技术社区  ›  CEamonn

在Linux主机上通过Jenkins运行PowerShell脚本

  •  0
  • CEamonn  · 技术社区  · 7 年前

    我有一个PowerShell脚本从BitBucket存储库克隆到我的工作区中。如果我登录到jenkins服务器cli,我可以通过

    cd /var/lib/jenkins/workspace/powershell
    pwsh
    ./psscript.ps1
    

    这运行正常,但当我试图通过詹金斯运行它时,我得到了错误。

    /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 -
    
    2 回复  |  直到 7 年前
        1
  •  1
  •   Jacob Kucinic    7 年前

    尝试

    pwsh -command "&.\psscript.ps1"
    

    如果需要的话-

    sudo pwsh -command "&.\psscript.ps1"
    
        2
  •  0
  •   Clayton Lewis    7 年前

    我的第一个PS脚本在通过Jenkins运行时遇到问题,直到我执行以下操作。我必须将整个路径w/文件名保存到一个变量中,然后调用PowerShell来执行。不确定这是否有助于如果你的情况。

    $File_Path_Name = $ENV:WORKSPACE + "\file.ps1"
    
    Powershell -File $File_Path_Name