Прежде всего, я новичок в Дженкинс, пытаюсь выяснить, что было сделано до моего подхода.Думая о том, как я могу улучшить текущий конвейер.
У меня есть проект iOS с 4 различными целями сборки, с разным профилем обеспечения на каждом.В моем jenkinsfile у меня есть конвейер с несколькими этапами, у меня также есть определенный путь к моему exportOptions.plist, который имеет все идентификаторы профиля обеспечения.
exportOptions.plist используется на этапе, где он создает 4 различных IPA, и передается в качестве опции -exportOptionsPlist в каждой из 4 строк;
перед этим на этапе, где он создаетархивы Мне нужно жестко закодировать такие параметры, как PROVISIONING_PROFILE в каждой из 4 строк;
Возможно ли получить строку PROVISIONING_PROFILE из файла exportOptions.plist?
stage('create arch') {
steps {
script {
if (BRANCH_NAME == 'dev') {
sh '/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -project myApp/myApp.xcodeproj -scheme myApp_DEV -configuration Distribution -archivePath ' + XCARCHIVE_PATH_1 + ' TARGETED_DEVICE_FAMILY="1,2" CODE_SIGN_IDENTITY="iPhone Distribution: myCompany" PROVISIONING_PROFILE="1234567890" archive'
}
if (BRANCH_NAME == 'release') {
sh '/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -project myApp/myApp.xcodeproj -scheme myApp_1 -configuration Distribution -archivePath ' + XCARCHIVE_PATH + ' TARGETED_DEVICE_FAMILY="1,2" CODE_SIGN_IDENTITY="iPhone Distribution: myCompany" PROVISIONING_PROFILE="0987654321" archive'
sh '/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -project myApp/myApp.xcodeproj -scheme myApp_DEV -configuration Distribution -archivePath ' + XCARCHIVE_PATH_1 + ' TARGETED_DEVICE_FAMILY="1,2" CODE_SIGN_IDENTITY="iPhone Distribution: myCompany" PROVISIONING_PROFILE="1234567890" archive'
sh '/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -project myApp/myApp.xcodeproj -scheme myApp_2 -configuration Distribution -archivePath ' + XCARCHIVE_PATH_2 + ' TARGETED_DEVICE_FAMILY="1,2" CODE_SIGN_IDENTITY="iPhone Distribution: myCompany" PROVISIONING_PROFILE="0987612345" archive'
sh '/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -project myApp/myApp.xcodeproj -scheme myApp_3 -configuration Distribution -archivePath ' + XCARCHIVE_PATH_3 + ' TARGETED_DEVICE_FAMILY="1,2" CODE_SIGN_IDENTITY="iPhone Distribution: myCompany" PROVISIONING_PROFILE="5432109876" archive'
}
}
}
}
stage('create ipa') {
steps {
script {
if (BRANCH_NAME == 'dev') {
sh '/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -exportArchive -archivePath ' + XCARCHIVE_PATH_1 + ' -exportPath ' + TARGET_IPA_PATH + ' -exportOptionsPlist ' + EXPORT_OPTIONS_PLIST_PATH
}
if (BRANCH_NAME == 'release') {
sh '/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -exportArchive -archivePath ' + XCARCHIVE_PATH + ' -exportPath ' + TARGET_IPA_PATH + ' -exportOptionsPlist ' + EXPORT_OPTIONS_PLIST_PATH
sh '/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -exportArchive -archivePath ' + XCARCHIVE_PATH_1 + ' -exportPath ' + TARGET_IPA_PATH + ' -exportOptionsPlist ' + EXPORT_OPTIONS_PLIST_PATH
sh '/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -exportArchive -archivePath ' + XCARCHIVE_PATH_2 + ' -exportPath ' + TARGET_IPA_PATH + ' -exportOptionsPlist ' + EXPORT_OPTIONS_PLIST_PATH
sh '/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -exportArchive -archivePath ' + XCARCHIVE_PATH_2 + ' -exportPath ' + TARGET_IPA_PATH + ' -exportOptionsPlist ' + EXPORT_OPTIONS_PLIST_PATH
}
}
}
}
Похоже, что идентификаторы профиля жестко закодированыв двух местах 1) exportOptions 2) jenkinsfile