本机环境&远程mac: macos 10.13
jenkins版本: 2.121.2
java: jdk8
需要开启mac的远程共享, 在’系统偏好设置’->’共享’中,把‘文件共享’,‘远程登录’,‘远程管理’都勾上
详情中除了开机关机其他都可以勾上
远程登陆是运行ssh登陆,其实大部分都可以通过命令行管理了,开启远程桌面只是方便一点。
# 其中mypasswd是vnc设置的密码,改成自己的密码就可以了
$ sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw mypasswd -restart -agent -privs -all
# 如果设置成功后不能应用到所有用户,还可以执行下面代码,不过我没运行这个就已经好了
$ sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -off -restart -agent -privs -all -allowAccessFor -allUsers
brew tap caskroom/versions
brew cask install java8
这里要注意 brew install java8是找不到安装源的
安装oh my zsh:
1、克隆这个项目到本地(前提是你得有装git)
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
2、创建一个zsh的配置文件
注意:如果你已经有一个~/.zshrc文件的话,建议你先做备份。使用以下命令
cp ~/.zshrc ~/.zshrc.orig
然后开始创建zsh的配置文件
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
3、设置zsh为你的默认的shell
chsh -s /bin/zsh
4、重启并开始使用你的zsh (打开一个新的终端窗口便可…)
至此,大功告成
更改zsh主题:
1、编辑 ~/.zshrc
2、修改
ZSH_THEME="ys"
注:主题文件在 ~/.oh-my-zsh/themes 目录
这个就不细讲了
# 这里ssh端口做了22->23的映射
$ scp -P 23 com.yizs.jenkins.provision.p12 ywsj@jenkins-mac:~/tools/
java -jar /Applications/Jenkins/jenkins.war --httpPort=8080
我创建的是基于xcode integration插件的自由风格的任务,因此需要做一些配置,后续尝试使用全脚本的配置。
注意svn的check-out策略需要选use ‘svn update’ as much as possible,with ‘svn revert’ before update,svn revert是为了在下次构建前还原上次构建修改的文件,避免出现环境问题。
#!/bin/bash -li
export LANG=en_US.UTF-8
pod install --verbose --no-repo-update && \
## 是不是必须要先open工程呢, 可以试试不要行不行
open yougc.xcworkspace
TeamID , target,以及build前先clean, schema,target目录,release版本
1. TeamID , target,以及build前先clean
2. TeamID就来自于前面通过p12导入的iOS Distribution证书,在keychins中就可以看到这个TeamID
3. schema File在使用cocoapods的工程中是需要的,就是指向app所在的target
4. Export method 是ipa的打包方式,可以导出为 ‘development’, ‘ad-hoc’, ‘enterprise’ or ‘app-store’,如果有企业证书,发布测试版本到蒲公英就可以用ad-hoc
5. .ipa filename pattern 是ipa文件的格式,我这里写死了名字方便蒲公英上传时指定文件名
6. Output directory是编译结果的输出路径,就这个就可以了
/Users/${youusername}/Library/Keychains/login.keychain-db
注意这里文件路径不能加.xcworkspace,就写前面部分的路径就可以了
IPANAME="yougc-jenkins"
curl -F "file=@${WORKSPACE}/build/${IPANAME}.ipa" -F "uKey=${your ukey}" -F "_api_key=${your apikey} https://qiniu-storage.pgyer.com/apiv1/app/upload
Name:可以随意命名,用来标记slave机器,我个人喜欢标记为slave机器的系统,比如server-ios
描述:随意,一般设置为slave机器的ip地址,后面新建任务指定slave节点时用这个描述作为slave的标志
of excutors:slave主机slave的并行数,即同时可以下发多少个job到slave上执行
远程工作目录:用来放工程的文件夹,jenkins master上设置的下载的代码会放到这个工作目录下。
标签:标签一般设置为slave 主机的IP
用法:选择“只允许运行绑定在这台机器的job”
启动方式: 选择Launch slave agents via SSH, 我参考的文章选择的是Launch agent via Java Web Start,这个选项默认是没有的,需要额外的配置,并且要生成一个jnlp拷贝到远程机器启动,感觉没有ssh方便。用ssh就填写ssh登陆用户名密码和主机地址就可以,如果非默认的22端口,就加上端口号.
然后修改jenkins目录的宿主用户名
$ sudo chown -R userName:staff /Users/Shared/Jenkins
$ sudo chown -R userName:staff /var/log/jenkins
#重启Jenkins
$ sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
注意要用sudo vim 修改,然后再重启jenkins服务