Итак, у меня много маленьких проектов на gitlab, все они используют один и тот же скрипт CI для сборки. Чтобы очистить всю систему, я поместил скрипт CI в свой собственный проект, а скрипт CI для небольших проектов просто вытащил скрипт из центрального проекта, то есть
stages:
- build
include:
- project: 'Company/CI-Templates'
file: '/Swift-Apple/Swift_Apple_Build.yml'
С центральным скриптом, подобным
stages:
- build
before_script:
- git submodule sync --recursive
- git submodule update --init --recursive
build_project:
stage: build
script:
- xcodebuild archive -scheme "$AppName" -archivePath "build/App.xcarchive"
- xcodebuild -exportArchive -archivePath "build/App.xcarchive" -exportPath "build/" -exportOptionsPlist "ExportOptions.plist"
- appcenter login --token $AppCenterToken
- appcenter distribute release -f "$IPAPath" -g Collaborators -r "$Reason" --app $AppCenterPath
Теперь все работает как положено, центральный скрипт при вызове запускается локально в проекте. У меня проблема в том, что «ExportOptions.plist» - это отдельный файл, который в идеале должен находиться в центральном расположении CI, но поскольку скрипт запускается локально при вызове, я не уверен, какой путь к файлу вставить.