集成Jenkins手动打包
-
安装完后默认启动
[http://localhost:8080] -
安装推荐插件
image.png -
安装Xcode相关插件
1.Keychains and Provisioning Profiles Management 2.Xcode integration
-
配置Keychains and Provisioning Profiles Management
点击选择文件分别上传证书和描述文件,可添加多个
image.png -
复制证书和描述文件到Jenkins目录
image.png image.png
(1)描述文件目录:/Users/用户名/Library/MobileDevice/Provisioning Profiles
(2)证书目录:/Users/用户名/Library/Keychains/login.keychain(注意:要把keychain-db改名为keychain)
(3)jenkins目录:/用户/共享/Jenkins/Library/
-
创建任务
image.png -
源码管理
如果使用ssh,则需要把私钥填写下
如果生成过,则目录在/Users/apple/.ssh/id_rsa,如果没生成过,则通过命令生成:
ssh-keygen -t rsa
image.png
点击添加,填写Git账号
image.png
填写ssh私钥
image.png
-
构建环境
勾上keychain和provisioning profile
image.png -
构建:选择shell脚本
###############设置需编译的项目配置名称 buildConfig="Release" #编译的方式,有Release,Debug,自定义的AdHoc等 target_name="<这里是targetname>" workspace_name="${target_name}.xcworkspace" scheme="$target_name" ExportOptionsPlistPath="./ExportOptions.plist" scheme_name="这里是schemename" # 强制删除旧的文件夹 #rm -rf ./$scheme_name-IPA # 指定输出ipa路径 export_path=./$scheme_name-IPA # 指定输出归档文件地址 export_archive_path="$export_path/$scheme_name.xcarchive" # 指定输出ipa地址 export_ipa_path="$export_path" isWorkSpace=true #判断是用的workspace还是直接project,workspace设置为true,否则设置为false echo "~~~~~~~~~~~~~~~~~~~开始编译~~~~~~~~~~~~~~~~~~~" ###############进入项目目录 cd ${PWD}/<项目名称> #rm -rf ./build ###############获取版本号,bundleID infoPlist="${PWD}/<这里是targetname>/Info.plist" bundleVersion=`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" $infoPlist` bundleIdentifier=`/usr/libexec/PlistBuddy -c "Print CFBundleIdentifier" $infoPlist` bundleBuildVersion=`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" $infoPlist` ###############开始编译app echo "版本信息" echo $bundleVersion echo $bundleIdentifier echo $bundleBuildVersion echo -workspace security unlock-keychain -p <电脑开机密码> ~/Library/Keychains/login.keychain echo "~~~~~~~~~~~~~~~~~~~pod install~~~~~~~~~~~~~~~~~~~" export LANG=en_US.UTF-8 export LANGUAGE=en_US.UTF-8 export LC_ALL=en_US.UTF-8 #第一次执行了pod之后就不用再次执行了 pod install --verbose --no-repo-update echo "开始编译workspace...." xcodebuild archive -workspace "$workspace_name" -scheme "$scheme" -configuration $buildConfig -archivePath $export_archive_path CODE_SIGN_IDENTITY="证书名称例如iPhone Distribution: xxxxxx. (7B9ZX5MLNC)" PROVISIONING_PROFILE="描述文件编号例如e17c3d73-ed17-4cd1-a669-2e1759e3a5c6" echo "~~~~~~~~~~~~~~~~~~~ 编译完成~~~~~~~~~~~~~~~~~~~" echo "~~~~~~~~~~~~~~~~~~~ 开始打包~~~~~~~~~~~~~~~~~~~" echo "开始打包$projectName.app成$projectName.ipa....." echo "打包地址$export_archive_path" echo "输出地址$export_ipa_path" xcodebuild -exportArchive -archivePath $export_archive_path -exportPath $export_ipa_path -exportOptionsPlist $ExportOptionsPlistPath CODE_SIGN_IDENTITY=$CODE_SIGN_IDENTITY PROVISIONING_PROFILE=$PROVISIONING_PROFILE
集成gitblit自动打包
-
下载gitblit
image.png
地址:[http://gitblit.com/]
参考网站:
(1)[https://blog.csdn.net/qq_40646143/article/details/79755144]
(2)[https://www.cnblogs.com/toughlife/p/9821240.html]
(3)[https://www.cnblogs.com/cudong/p/6526457.html]
-
运行gitblit.sh文件
image.png -
登陆账号
账号密码初始值:admin -
创建版本库
点击版本库->点击新建版本库
image.png -
配置ssh公钥
(1)点击用户中心
image.png(2)点击ssh keys,添加ssh key,如果生成过,则目录在/Users/apple/.ssh/id_rsa.pub,如果没生成过,则通过命令生成:
image.pngssh-keygen -t rsa
-
配置jenkins.groovy文件,目录在/Users/apple/Documents/gitblit-1.8.0/data/groovy/jenkins.groovy,把jenkinsGitbaseurl改成自己项目的URL域名(不带仓库名字)
image.png
image.png -
配置gitblit的post-receive 脚本,选择gitblit仓库的对应设置页面,选择刚才改好的jenkins.groovy并保存
image.png -
Jenkins配置触发器
image.png
大功告成!!!接下来每次提交代码至master分支就可以出发打包啦
网友评论