集成Jenkins手动打包
  1. 下载地址 [jenkins.io/zh/download…]
  2. JDK 8及以上 [download.oracle.com/otn/java/jd…]
  3. 安装完后默认启动 [http://localhost:8080]
  4. 安装推荐插件
  5. 安装Xcode相关插件
1.Keychains and Provisioning Profiles Management
2.Xcode integration
复制代码
  1. 配置Keychains and Provisioning Profiles Management 点击选择文件分别上传证书和描述文件,可添加多个
  2. 复制证书和描述文件到Jenkins目录 (1)描述文件目录:/Users/用户名/Library/MobileDevice/Provisioning Profiles (2)证书目录:/Users/用户名/Library/Keychains/login.keychain(注意:要把keychain-db改名为keychain) (3)jenkins目录:/用户/共享/Jenkins/Library/
  3. 创建任务
  4. 源码管理 如果使用ssh,则需要把私钥填写下 如果生成过,则目录在/Users/apple/.ssh/id_rsa,如果没生成过,则通过命令生成:
ssh-keygen -t rsa
复制代码



点击添加,填写Git账号



填写ssh私钥



  1. 构建环境 勾上keychain和provisioning profile
  2. 构建:选择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自动打包
  1. 下载gitblit 地址:[gitblit.com/] 参考网站: (1)[blog.csdn.net/qq_40646143…] (2)[www.cnblogs.com/toughlife/p…] (3)[www.cnblogs.com/cudong/p/65…]
  2. 运行gitblit.sh文件
  3. 登陆账号 账号密码初始值:admin
  4. 创建版本库 点击版本库->点击新建版本库
  5. 配置ssh公钥 (1)点击用户中心
    (2)点击ssh keys,添加ssh key,如果生成过,则目录在/Users/apple/.ssh/id_rsa.pub,如果没生成过,则通过命令生成:
ssh-keygen -t rsa
复制代码
  1. 配置jenkins.groovy文件,目录在/Users/apple/Documents/gitblit-1.8.0/data/groovy/jenkins.groovy,把jenkinsGitbaseurl改成自己项目的URL域名(不带仓库名字)
  2. 配置gitblit的post-receive 脚本,选择gitblit仓库的对应设置页面,选择刚才改好的jenkins.groovy并保存
  3. Jenkins配置触发器

大功告成!!!接下来每次提交代码至master分支就可以出发打包啦