一、 通过homebrew安装Jenkins
注:因为公司所有的开发都是在mac上开发的,所以这里不对其它系统的jenkins安装方法进行描述,如果没有安装homebrew,可以参照下边链接进行安装:
hombrew官方网站: https://brew.sh/index_zh-tw.html
终端运行如下命令安装Jenkins:
$ brew install jenkins
安装成功之后在终端启动jenkins:
$ jenkins
等待jenkins启动完成之后,就可以在浏览器中输入localhost:8080来访问jenkins服务器:
1756338-3e1a919c12458463.png
打开之后会调到下边的界面:
1756338-93aff712dd844486.png
选择之后会安装一下jenkins插件:
1756338-665678985594ad4c.png
等待插件安装完成,则会出现登录界面:
1756338-3505709f987f8b31.png
创建用户并登录之后,会进入到jenkins管理页面,接下来就是我们项目的配置设置了。
注:这里因为本人mac已经安装过了jenkins所以无法截图,所以截图是借用https://blog.csdn.net/u011537073/article/details/80025716博客的图,如果侵权请留言,我会删除替换图片。
二、 iOS项目的配置
1、安装插件
我们可以在jenkins管理页面的:系统管理->管理插件->可选插件
739679DD-9D65-4AFD-B09F-79FD046E7655.png
我们需要安装的插件:
Keychains and Provisioning Profiles Management
Keychain和描述文件的插件(需要先安装才能上传.keychain文件和描述文件)
注:因为本人只是iOS开发,所以说到的插件只是iOS需要的一些插件,至于其它语言需要的插件请自行google或者百度
2、创建并配置项目
在jenkins首页点击“ 新建任务 ” 进入到创建项目界面: DE81BA60-F6D4-45F4-A2F9-1E1E422F0942.png创建完成之后在主页我们可以看到我们创建的项目,点击此项目名称进入到项目详情页面,详情页面可以点击配置对项目进行设置 84BE11F5-982E-4C6E-ACAF-79DBDCAB5844.png
这里使用git来进行版本管理 93ED66E5-D993-4BCF-AE4B-14E5C2DF5074.png
这里使用git和ssh来配置项目
生成ssh私钥和公钥请参考:如何生成公钥和私钥
复制我们生成的公钥,对git仓库进行配置
conding.net:项目 > 设置 > 部署公钥
github: 项目 > Settings > Deploy keys
ps: 添加私钥的时候记得全部复制,包括-----BEGIN RSA PRIVATE KEY-----
和-----END RSA PRIVATE KEY-----
ps: 添加私钥的时候记得全部复制,包括-----BEGIN RSA PRIVATE KEY-----
和-----END RSA PRIVATE KEY-----
ps: 添加私钥的时候记得全部复制,包括-----BEGIN RSA PRIVATE KEY-----
和-----END RSA PRIVATE KEY-----
添加完成之后选择自己添加的凭据:
F8D9D4A3-4D25-4356-BF98-AEE4108D23EF.png接下来配置构建触发器,我这里选择的是轮询scm,可以根据自己的需求选择不同的触发方式,语法可以参照:https://www.jianshu.com/p/509c59391b3b
71ABAF0C-75FD-4BD3-9BD7-AA85D62C5004.png注:因为iOS编译和打包涉及到证书的问题,所以我们先要进行keychains和描述文件的配置
注:因为iOS编译和打包涉及到证书的问题,所以我们先要进行keychains和描述文件的配置
注:因为iOS编译和打包涉及到证书的问题,所以我们先要进行keychains和描述文件的配置
配置方式请参照:https://www.jianshu.com/p/06b93058c83d
keychains和描述文件配置好之后,可以进行下一步配置构建环境:
D8309C4A-3CF2-4C72-B82B-9008BF4F6E5B.png接下来用shell命令来编译打包,并上传蒲公英
873B70D0-749C-48CB-AD87-FE5FA3E240BC.png然后在shell命令中编辑如下代码:
#ps:这个代码不太理解,在本地jenkins进行自动化构建的时候不用加也可以成功
#但是当把jenkins服务器放在云服务器上,把我的mac作为一个节点来构建的时候不加是无法正常构建的
#如果有人知道原因请留言
#解锁login.keychain
security unlock-keychain -p "你的电脑登录密码" ~/Library/Keychains/login.keychain
# 工程名
APP_NAME="TestProject"
# 证书
CODE_SIGN_DISTRIBUTION="iPhone Distribution: 证书名字"
# info.plist路径
project_infoplist_path="./${APP_NAME}/Info.plist"
#取版本号
bundleShortVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleShortVersionString" "${project_infoplist_path}")
#取build值
bundleVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleVersion" "${project_infoplist_path}")
DATE="$(date +%Y%m%d)"
IPANAME="${APP_NAME}_V${bundleShortVersion}_${DATE}.ipa"
#ipa包的储存路径(自己进行配置)
IPA_PATH="/Users/用户名/Desktop/ipa/Demo/${IPANAME}"
echo ${IPA_PATH}
echo "${IPA_PATH}">> text.txt
#Debug 和 release 根据自己的需求进行配置
#下面2行是没有Cocopods的用法
echo "=================clean================="
xcodebuild -target "${APP_NAME}" -configuration 'Debug' clean
echo "+++++++++++++++++build+++++++++++++++++"
xcodebuild -target "${APP_NAME}" -sdk iphoneos -configuration 'Debug' CODE_SIGN_IDENTITY="${CODE_SIGN_DISTRIBUTION}" SYMROOT='$(PWD)'
#下面两行是有cocopods的用法
# xcodebuild clean -workspace "${APP_NAME}.xcworkspace" -scheme ${APP_NAME} -configuration 'Release'
# xcodebuild archive -workspace "${APP_NAME}.xcworkspace" -scheme ${APP_NAME} -archivePath "${ARCHIVE_PATH}/${APP_NAME}.xcarchive"
echo "+++++++++++++++++Run+++++++++++++++++"
xcrun -sdk iphoneos PackageApplication -v "./Debug-iphoneos/${APP_NAME}.app" -o ${IPA_PATH}
#上传到蒲公英
uKey="蒲公英的uKey"
#蒲公英上的API Key
apiKey="蒲公英的API Key"
#要上传的ipa文件路径
echo $IPA_PATH
#执行上传至蒲公英的命令
echo "++++++++++++++upload+++++++++++++"
curl -F "file=@${IPA_PATH}" -F "uKey=${uKey}" -F "_api_key=${apiKey}" http://www.pgyer.com/apiv1/app/upload
ps : 里边需要替换的参数需替换为自己的参数
到此为止,点击保存,所有的参数已经配置完整,我们回到项目首页:
4EDEA481-D63E-4485-97D6-FBDC0F20E4D7.png CF0EF163-4255-4BCA-80CC-385AC67F096B.png B26BB14C-6935-42C7-BF0C-C459D90E0077.png构建成功,则表示配置完成,以后就可以使用jenkins自动构建你的项目了。
希望对你有帮助,如有问题请留言。
参考:https://blog.csdn.net/u011537073/article/details/80025716
网友评论