Mac Jenkins+fir 搭建
来源:互联网 发布:unity3d海底模型 编辑:程序博客网 时间:2024/05/17 15:56
阐述
最近在准备产品新版本开发的预备工作,网上看了很多产品方案,感觉一个成熟的产品必然是产品-测试-产品循环,因此寻找了很多关于CI环境搭建方面的资料,最终还是觉得Jenkins+fir这套方案适合公司目前的情况。故将搭建过程记录下来,供大家参考。
步骤
1. 安装Java环境
Jenkins平台需要对应的Java环境,请下载对应版本的Java环境包
下载地址: http://www.java.com/zh_CN/download/mac_download.jsp
2. 下载Jenkins
下载Jenkins最新版本的安装包(注意查看对应的Java版本)
Jenkins官网: https://jenkins.io
3. 安装Jenkins
一直选择(下一步)Next,不需要设置
4. 初始配置 Jenkins
a. 浏览器输入 http://localhost:8080
(注: 如端口冲突,请修改端口)
修改端口方法(命令行):
$ defaults write /Library/Preferences/org.jenkins-ci httpPort xxxx
(xxxx 为你要修改的端口号)
b. 按照提示,找到密码,输入下方的输入框
c. 找到 /Users/Shared/Jenkins/Home/ 这个目录下,这个目录虽然是共享目录,但是有权限的,非Jenkins用户/secrets/目录是没有读写权限的。
故需要进行操作: 右键 - 显示简介 - 修改权限
d. 打开 initialAdminPassword 文件,复制并黏贴密码
e. 选择 Install suggested plugins (当然也可自己选择对应插件进行安装)
安装截图
如有安装失败的,在失败之后,重启浏览器多次,即可跳过失败的插件安装步骤(失败的插件需要在Jenkins中手动安装)
f. 账户创建(安装失败多次重启浏览器后也会到这个界面)
这样Jenkins就初步安装完成
5. Jenkins 插件安装
a. 通过插件名搜索,选择并安装
b. 自己下载插件,手动安装
插件集合下载地址: https://wiki.jenkins-ci.org/display/JENKINS/Plugins
注意:
需要安装的插件有 (可通过第一种方式)
GitLab 插件
- GitLab Plugin
- GItLab Hook Plugin
Xcode 插件
- Xcode integration
Keychains 插件
- Keychains and Provisioning Profiles Management
打包后续动作插件
- Post-Build Script Plug-in
6. 配置发布证书
a. 进入有关操作界面,如下图
b. 在下图中,上传 /Users/管理员用户名/Library/keychains/login.keychain 文件,并上传有关程序的 Provisioning Profiles 文件(证书p12不需要上传)
c. 在下方输入要使用的证书的名称
d. 设置 Provisioning Profiles 拷贝目的地路径
请输入 /Users/Shared/Jenkins/Library/MobileDevice/Provisioning Profiles/
7. 配置fir插件
按照网址中介绍的fir配置步骤进行配置: http://blog.fir.im/jenkins/
8. 创建一个新项目
初步设置有关内容
Poll SCM (poll source code management) 轮询源码管理 需要设置源码的路径才能起到轮询的效果。一般设置为类似结果: 0/5 每5分钟轮询一次 Build periodically (定时build) 一般设置为类似: 00 20 * 每天 20点执行定时build 。当然两者的设置都是一样可以通用的。
格式是:
分钟(0-59) 小时(0-23) 日期(1-31) 月(1-12) 周几(0-7,0和7都是周日) 更加详细的设置看这里
若 Code Signing Identity第一次不能选择,请Save一下,再次进入设置界面
其中:
APP_NAME 为项目名称
JENKINS_SVN_NAME 为此Jenkins项目名称
CODE_SIGN_DISTRIBUTION 为打包使用的证书名称
附上代码
APP_NAME="WizardIsBoy"JENKINS_SVN_NAME="WizardIsBoy"CODE_SIGN_DISTRIBUTION="Apple Development IOS Push Services: com.caxaAS.WizardIsBoy"project_infoplist_path="/Users/Shared/Jenkins/Home/workspace/${JENKINS_SVN_NAME}/${APP_NAME}/Info.plist"bundleShortVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleShortVersionString" "${project_infoplist_path}")bundleVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleVersion" "${project_infoplist_path}")DATE="$(date +%Y%m%d)"IPANAME="${APP_NAME}_V${bundleShortVersion}_${DATE}.ipa"IPA_PATH="$HOME/GGG/${IPANAME}"echo ${IPA_PATH}echo "${IPA_PATH}">> text.txtecho "=================clean================="xcodebuild -target "${APP_NAME}" -configuration 'Release' cleanecho "+++++++++++++++++build+++++++++++++++++"xcodebuild -target "${APP_NAME}" -sdk iphoneos -configuration 'Release' CODE_SIGN_IDENTITY="${CODE_SIGN_DISTRIBUTION}" SYMROOT='$(PWD)'xcrun -sdk iphoneos PackageApplication "./Release-iphoneos/${APP_NAME}.app" -o ~/"${IPANAME}"
附
若 Ruby 出现问题则命令行输入以下命令,进行ruby重新安装
$ rvm get stable
$ rvm reinstall 2.0.0
参考资料:
1. http://gold.xitu.io/post/57b01d50128fe10055bbc6d5?utm_source=gold_browser_extension
2. http://stackoverflow.com/questions/20092600/error-loading-rubygems-plugin-openssl-bundle-loaderror
3. http://blog.fir.im/jenkins/
- Mac Jenkins+fir 搭建
- Mac下搭建 Jenkins+Github+蒲公英/fir.im 持续集成环境(iOS自动打包)
- mac上搭建jenkins
- Mac Jenkins 环境搭建
- Mac 搭建 Jenkins
- 搭建持续集成环境(Jenkins+GitHub+Xcode+fir)
- fir-cli jenkins fir:command not found
- Jenkins+git+fir搭建持续集成环境(超详细搭建教程)
- Jenkins + Xcode + Fir.im 自动构建项目,并打包ipa上传(MAC)
- Mac环境中Jenkins自动打包上传fir的配置流程(从零开始)一
- Mac中Jenkins自动打包上传fir的配置流程(从零开始)二
- Mac环境中Jenkins自动打包上传fir的配置流程(从零开始)三
- iOS 持续集成- Jenkins+iOS+fir+蒲公英 搭建持续集成环境
- iOS 持续集成- Jenkins+iOS+fir+蒲公英 搭建持续集成环境
- 关于windows环境下Jenkins+ant+fir.im搭建android自动打包环境
- fir.im Jenkins 插件使用
- Mac OSX搭建Jenkins持续集成环境
- Mac OS 搭建 Jenkins 实践(Tomcat + jenkins.war)
- 设置缓存
- 一些网络判断方法
- 脏读、幻读、不可重复读 and 乐观锁、悲观锁 and 事务五种隔离级别
- Ueditor实例化传入参数
- java范型通配符
- Mac Jenkins+fir 搭建
- linux 修改mysql密码
- 洛谷 P1144 最短路计数
- SSDT修改Dynamics AX SSAS Cube之后如何更新到AOT
- 控制台不能ping ip地址
- 公司项目,从SVN导入项目后打开出现404的问题
- iOS开发之ViewControler
- python zipfile
- 如何在window上把你的项目提交到github