发布时间:2015年4月3日-3分钟阅读
Jenkins是现场持续集成的最突出的解决方案。它可以在大多数平台上运行,包括OSX。由于它可以在mac上运行,你可以用它来为iOS应用设置持续集成策略。你有可能不希望你的核心Jenkins实例运行在Mac上,幸运的是Jenkins让你设置从属程序来运行任务。
在Jenkins中添加从机
首先你需要在Jenkins中添加从机。
管理Jenkins -> 管理节点 -> 新节点
给它一个名字,并选择哑巴从机
点击OK
输入/Users/jenkins/build/作为远程根目录 点击保存
Mac的基本设置
创建一个名为jenkins的用户
进入Jenkins -> 管理Jenkins -> 管理节点 点击你刚创建的节点
点击 "启动",以从属身份连接到Jenkins。
你可能需要安装Java,如果你安装了,会有一个弹出窗口。
就这样,你可以使用OSX进行Jenkins的构建。
以服务形式运行Jenkins Slave
我们的目标是让OSX在启动时作为Jenkins连接并保持连接。
安装Java开发工具包
你将需要这个来从命令行连接到Jenkins。
我使用的是这里的版本,但你可能想去谷歌看看最新的版本是什么。
创建plist
这是这个过程中最复杂的一步。创建一个名为com.jenkins.ci.plist的新文件并添加以下内容。
用你的Jenkins机器的地址替换http://192.168.1.151:8080 。注意,这个例子没有使用Jenkins的认证。如果你的设置使用认证(很可能使用),你将需要在plist中添加额外的参数。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.jenkins.ci</string>
<key>UserName</key>
<string>jenkins</string>
<key>SessionCreate</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>java</string>
<string>-Djava.awt.headless=true</string>
<string>-jar</string>
<string>/Users/jenkins/Desktop/slave.jar</string>
<string>-jnlpUrl</string>
<string>http://192.168.1.151:8080/computer/mac_vm/slave-agent.jnlp</string>
</array>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/Users/jenkins/Desktop/stdout.log</string>
<key>StandardErrorPath</key>
<string>/Users/jenkins/Desktop/error.log</string>
</dict>
</plist>
移动到LaunchDaemons
将此文件移至 /Library/LaunchDaemons 你会被提示进行认证
改变文件权限
现在你需要改变文件的权限,以便它能被root正确处理。
sudo chown root com.jenkins.ci.plist
sudo chmod 644 com.jenkins.ci.plist
这就是了。现在你的OSX机器只要开机就会作为从机连接到Jenkins。
原文发表于www.parsed.io 。
通过www.DeepL.com/Translator(免费版)翻译