iOS 集成Jenkins pipeline 自动打包并上传蒲公英

1 创建一个Jenkins pipeline 项目

请添加图片描述

上面那几个配置项其实不用关心的,我们这里先实现一个简单的能够打包的流程
请添加图片描述

这里只配置Pipeline script
请添加图片描述

Pipeline script

主要的流程都是有pipeline script 来完成的

pipeline {
    agent any
     environment {
        archivesh = "./archive.sh"
    }
    stages {
        stage('checkout') {
            steps {
                  git branch: "master", url: "https://gitee.com/liuboliu/pengpailiubo.git"
            }
        }
         stage('build') {
            steps {
                 sh """
                   chmod -R +x ${archivesh}
                    ${archivesh}
                 """
            }
        }
    }
}

注意,上面pipeline 命令中的 archivesh 脚本文件是在工程的根目录下,如图
请添加图片描述

打包和上传蒲公英脚本

#!/bin/bash -l
# 设置utf8编码
export LANG=en_US.UTF-8

APP_NAME="ThePaperBase"

#获取当前版本号
get_build_version=`xcodebuild -showBuildSettings  -target ${APP_NAME} | grep CURRENT_PROJECT_VERSION | tr -d 'CURRENT_PROJECT_VERSION = '`
old_build_version=$get_build_version
echo "old_build_version = $old_build_version"
 
#版本号增加
agvtool new-version $(($old_build_version+1))
 
#输出新版本号
get_current_build_veresion=`xcodebuild -showBuildSettings  -target ${APP_NAME} | grep CURRENT_PROJECT_VERSION | tr -d 'CURRENT_PROJECT_VERSION = '`
current_build_veresion=$get_current_build_veresion

echo "current_build_veresion = $current_build_veresion"

currentBranch=$(git branch --show-current)
git add .
git commit -m "buildVersion${get_current_build_veresion}"
git push -u origin ${currentBranch}

CODE_PATH="/Users/liubo/.jenkins/workspace/Pipeline"
ROOT_PATH="/Users/liubo/Desktop/Jenkins"
DATE=$(date +%Y%m%d-%H-%M-%S)
ARCHIVE_NAME="${APP_NAME}_${DATE}.xcarchive"
ARCHIVE_PATH="${ROOT_PATH}/Archive/${ARCHIVE_NAME}"
IPANAME="${APP_NAME}_${DATE}_IPA"
IPA_PATH="${ROOT_PATH}/Export/${IPANAME}"
EXPORT_METHOD_PLIST_PATH=${CODE_PATH}/ExportOptions/ExportOptions.plist
#删除旧的打包文件夹
rm -rdf "${ROOT_PATH}/Archive"
rm -rdf "${ROOT_PATH}/Export"
# 再创建新的打包文件夹
mkdir "${ROOT_PATH}/Archive"
mkdir "${ROOT_PATH}/Export"

cd "${CODE_PATH}"
pod install
xcodebuild archive -workspace ${APP_NAME}.xcworkspace -scheme ${APP_NAME} -configuration Debug -archivePath ${ARCHIVE_PATH}
xcodebuild -exportArchive -archivePath ${ARCHIVE_PATH} -exportPath "${IPA_PATH}" -exportOptionsPlist ${EXPORT_METHOD_PLIST_PATH} -allowProvisioningUpdates
file_path="${IPA_PATH}/${APP_NAME}.ipa"

#蒲公英上的User Key
uKey="45d2be1046a2db153cda3552207c1a6a"

#蒲公英上的API Key
apiKey="840f54de6357a2b1b8f60cd4a8d107fa"

#执行上传至蒲公英的命令,这句不需要修改
curl -F "file=@${file_path}" -F "uKey=${uKey}" -F "_api_key=${apiKey}" https://www.pgyer.com/apiv1/app/upload

我这里将exportOptions.plist配置文件放到工程的根目录中了
请添加图片描述

注意,蒲公英的uKey 和 apices 在蒲公英API信息中获取
如图
请添加图片描述
请添加图片描述

猜你喜欢

转载自blog.csdn.net/LIUXIAOXIAOBO/article/details/131263949