Я пытаюсь настроить свой MAC для подключения к Jenkins и быть готовым к автоматической сборке. Мне удалось создать сервис, который подключается к Jenkins, но что-то не так.
Это мой файл plist:
<key>Label</key>
<string>com.example.ci</string>
<key>ProgramArguments</key>
<array>
<string>sh</string>
<string>/Users/Shared/Jenkins/Home/my_scripts/run_jenkins.sh</string>
</array>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/Users/Shared/Jenkins/Home/stdout.log</string>
<key>StandardErrorPath</key>
<string>/Users/Shared/Jenkins/Home/error.log</string>
это мой run_jenkins.sh:
cd /Users/Shared/Jenkins/Home/
sudo -u jenkins java -jar slave.jar -jnlpUrl http://secret.mission:8080/computer/ios-slave/slave-agent.jnlp -secret 841557ed7843ac76fe1618e375
ПРОБЛЕМА:
$ /usr/bin/security find-identity -p codesigning -v
0 valid identities found
это происходит, когда я пытаюсь собрать сразу после запуска. Конечно после этого сборка не удалась.
Когда я иду sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
а затем sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
результат будет:
$ /usr/bin/security find-identity -p codesigning -v
[.. ]
4 valid identities found
и сборка завершена. Почему этот MAC не может найти эти профили, когда он запускается при запуске, и как это исправить?
РЕДАКТИРОВАТЬ
Я отредактировал мой файл plist:
<key>UserName</key>
<string>jenkins</string>
<key>Label</key>
<string>com.example.ci</string>
<key>ProgramArguments</key>
<array>
<string>sudo</string>
<string>-u</string>
<string>jenkins</string>
<string>/usr/bin/java</string>
<string>-Djava.awt.headless=true</string>
<string>-jar</string>
<string>/Users/Shared/Jenkins/Home/slave.jar</string>
<string>-jnlpUrl</string>
<string>http://secret.mission:8080/computer/ios-slave/slave-agent.jnlp
</string>
<string>-secret</string>
<string>841557ed7843ac76fe1618e375
</string>
</array>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/Users/Shared/Jenkins/Home/stdout.log</string>
<key>StandardErrorPath</key>
<string>/Users/Shared/Jenkins/Home/error.log</string>
и все та же ситуация ...