从MAC上的launchDaemon运行的Bash脚本 – 不连接到jenkins

我有一个非常简单的plist文件,应该运行我的脚本:

    Label com.example.ci ProgramArguments  sh /Users/Shared/Jenkins/Home/my_scripts/run_jenkins.sh  KeepAlive  StandardOutPath /Users/Shared/Jenkins/Home/stdout.log StandardErrorPath /Users/Shared/Jenkins/Home/error.log   

当我运行它没有任何反应 – 我的意思是当我运行sh run_jenkins.sh它连接到我的jenkins服务器。 但是当我从sudo launchctl org.jenkins-ci.plist运行它时,它就没有连接。 我错过了什么吗?

您缺少launchctl中的“load”或start命令:

 sudo launchctl load -w org.jenkins-ci.plist sudo launchctl start org.jenkins-ci.plist 

你应该也可以使用你的脚本来执行

 chmod +x "/Users/Shared/Jenkins/Home/my_scripts/run_jenkins.sh" 

并删除plist文件中的“sh”行。

并确保您的脚本以正确的shebang行开头:

 #!/bin/sh 

并设置plist文件的权限:

 chmod 644 org.jenkins-ci.plist