Mac 配置Jenkins自动化打包iPa

371 阅读1分钟
  1. 安装Java环境 JDK 1.8.xx 终端执行命令:Java --version

  2. 检查是否安装HomeBrew brew -v

安装命令: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

如果安装过程中443: 解决方式如下 /etc/hosts 修改改文件下的内容:增加本机的IP地


#!/bin/bash

#安装器打包文件

\


#start---------------------------------------》

\


\


# 工程名

APP_NAME="会议"

\


# 1.设置配置标识

configuration="Debug"

\


#2.项目的根目录

cur_dir="/Users/guan/Desktop/github/app/app/IOS/iOS_mobile"

echo $cur_dir

\


#生成ipa的目录

desk_dir="/Users/guan/Desktop/ipa"

echo $desk_dir

\


#获取当前时间

CURTIME=`date '+%Y%m%d_%H%M%S'`

prefix_path="${desk_dir}/HuoMiao"

upload_path="${prefix_path}/${configuration}/${CURTIME}"

target_path=$cur_dir

\


echo "upload_path打包路径:$upload_path"

echo "target_path项目路径:$target_path"

\


#判断如果不存在upload_path创建,存在先删除再创建

if [ -d "$prefix_path" ]; then

if [ -d "$upload_path" ]; then

rmdir "$upload_path"

mkdir -p "$upload_path"

else

mkdir -p "$upload_path"

fi

else

mkdir -p "$prefix_path"

fi

\


# 项目名称

target_name="New"

workspace_name="${target_name}.xcworkspace"

scheme="TorchClass"

\


echo "configuration配置:$configuration"

echo "target_name项目名称:$target_name"

echo "workspace_name工作空间名称:$workspace_name"

echo "scheme名称:$scheme"

\


# archive包时使用证书、描述文件UUID;ipa包时使用描述文件(描述文件名称)

codeSignIdentity="iPhone Developer: xxx (9DFV2445HW)"

provision_UUID="63f0e245-c34a-4e94-8562-fa2e5ca5a52d.mobileprovision"

provisoning_profile="20211203_dev"

\


echo "codeSignIdentity开发证书:$codeSignIdentity"

echo "provision_UUID描述文件UUID:$provision_UUID"

echo "provisoning_profile描述文件:$provisoning_profile"

\


# 指定目录时

cd "$upload_path"

ipa_path="$upload_path"

archive_path="$upload_path/${target_name}.xcarchive"

# 日志路径

log_path="$upload_path/log.txt"

exportOptionsPlist_path="$desk_dir/HuoMiao/ExportOptions.plist"

\


pwd

echo "ipa_path导出路径:$ipa_path"

echo "archive_path生成路径:$archive_path"

echo "log_path打印路径:$log_path"

\


# 3 删除旧文件

rm -rf "$log_path"

rm -rf "$archive_path"

rm -rf "$ipa_path"

cd "$target_path"

\


pwd

# 4 清理构建目录

xcodebuild clean -configuration "$configuration" -alltargets

xcodebuild clean -configuration "$configuration" -alltargets | tee $log_path

\


echo $scheme

echo $workspace_name

echo $configuration

\


/usr/bin/security unlock-keychain -p 123456

\


# 5 归档(其他参数不指定的话,默认用的是.xcworkspace或.xcodeproj文件里的配置)

xcodebuild archive -workspace "$workspace_name" -scheme "$scheme" -configuration "$configuration" -archivePath "$archive_path" CODE_SIGN_IDENTITY="$codeSignIdentity" PROVISIONING_PROFILE="$provision_UUID" | tee $log_path

\


# 6 导出IPA

xcodebuild -exportArchive -archivePath "$archive_path" -exportPath "$ipa_path" -exportOptionsPlist "$exportOptionsPlist_path" | tee $log_path

\


# 7 删除项目目录下产生的build文件

rm -rf "$cur_dir/build"

\


#上传到蒲公英

#蒲公英上的user Key

uKey=“xxxx”

#蒲公英上的API Key

apiKey=“x’x’x’x’x”

\


#要上传的ipa文件路径

echo $upload_path

 

#执行上传至蒲公英的命令

echo "++++++++++++++upload+++++++++++++"

curl -F "file=@${upload_path}/$APP_NAME.ipa" -F "uKey=${uKey}" -F "_api_key=${apiKey}"  <https://www.pgyer.com/apiv2/app/upload>