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 ======================"