Flutter Jenkins iOS端自动打包并上传蒲公英

source ~/.bash_profile

keychain-这里可能你进去看到只有login.keychain-db,复制一份然后去掉-db即可

security unlock-keychain -p 123456 ${HOME}/library/keychains/login.keychain

工程名-在xcode中查看PROJECT

APP_NAME="Runner"

target-在xcode中查看TARGETS

TARGET_NAME=“Runner”

证书

这里是钥匙串中证书的显示简介-常用名称

CODE_SIGN_DISTRIBUTION="Apple Development: *** (42K****6R7)"

这里是mobileprovision文件的UUID

provisoning_profile="e4***196-ff9f-4fcf-992c-5674*****678"

模式

CONFIGURATION="Release"

路径 这个路径要自己看/Users/你的电脑用户名/.jenkins/workspace/下的,你每建一个项目,构建后都会在这下面创建对应的文件夹存放git clone下来的项目

WORKSPACE_PATH={APP_NAME}.xcworkspace

这个是导出ipa用的文件,用xcode导出一个对应模式的ipa就能获取到,把那个文件的路径放这里

EXPORT_OPTIONS=/Users/ceshishiyong/Desktop/yc_supply_app/ExportOptions.plist
ArchivePath=/Users/cg/.jenkins/workspace/suIOS@tmp/
EXPORTIPA=/Users/cg/.jenkins/workspace/suIOS@tmp/

清空存放ipa的文件夹

cd ${EXPORTIPA}
rm -rf *

将指定文件的指定内容替换掉pro/dev/test

这里是修改main_primary文件的指定内容,切换环境

如下示例意思是,使用app5test.wit替换该文件的从app开始,到wit结束的指定字段

cd ${WORKSPACE}//lib/flavors

sed -i '' "s/app.*wit/app5test.wit/" main_primary.dart

flutter pub get

cd ${WORKSPACE}/
flutter pub get

build app,里面的primary是前面的target

flutter build ipa --release

进入原生项目 archive和export

cd ${WORKSPACE}/ios/
pod install

导出achive,里面的primary是前面的target

xcodebuild archive -workspace {ArchivePath}runner.xcarchive

导出ipa

xcodebuild -exportArchive -archivePath {EXPORTIPA}runner -exportOptionsPlist ${EXPORT_OPTIONS}

echo "=================上传到蒲公英分发平台 ================="

curl -F "file=@{SCM_CHANGELOG}" https://www.pgyer.com/apiv2/app/upload

ipa重命名(这里重命名是因为上传svn有统一的命名格式)

info.plist路径

project_infoplist_path=${WORKSPACE}/ios/Runner/Info.plist

取版本号

bundleVersion={project_infoplist_path}")

取build值

bundleBuild={project_infoplist_path}")

获取年月日时分

DATE="{EXPORTIPA}runner

拼接新名字

ipaReName={bundleBuild}-${DATE}.ipa

替换

mv zsh_supply.ipa ${ipaReName}

待提交文件

myFile=${ipaReName}

ipa文件地址

resource_dir={myFile}
echo "====================== ssh commit end ======================"

NGINX_ADDR=192.168..*

scp /Users/ceshishiyong/.jenkins/workspace/witParkingIOS@tmp/runner/{NGINX_ADDR}:/home/nginx/www/download/pre/ios/

你可能感兴趣的:(Flutter Jenkins iOS端自动打包并上传蒲公英)