Я не могу заставить GitLab CI работать с Fastlane и Cocoapods.
Вот сообщения об ошибках, которые я получаю во время Gitlab-CI:
[!] You cannot run CocoaPods as root.
Вот снимок экрана GitLab CI Log:
Вот мой регистрационный код gitlab-runner, который я записываю в терминал MacOS:
sudo gitlab-runner register \
--non-interactive \
--url "https://gitlab.com/" \
--registration-token "ABCDEFG21sadfSAEGEAERE" \
--description "MyApp runner with shell" \
--tag-list ios \
--executor "shell"
После этого я набираю внутри терминала:
sudo gitlab-runner start
и ...
sudo gitlab-runner run
После run
cmd любой толчок git заставит GitLab CI запустить новый конвейер. Пока все хорошо :) 1033 *
Но через несколько секунд появляется вышеуказанная ошибка. И это связано с Cocoapods.
Как вы можете заставить Gitlab (и / или Fastlane) распознавать Podfile во время CI ??
Вот мой Fastfile:
update_fastlane
default_platform(:ios)
platform :ios do
def install_pods
cocoapods(
clean: true,
podfile: "./Podfile",
try_repo_update_on_error: true
)
end
lane :tests do
install_pods()
gym(configuration: "Release",
workspace: "MyApp.xcworkspace",
scheme: "MyApp",
clean: true,
output_name: "MyApp.ipa")
# increment_build_number
scan(workspace: "MyApp.xcworkspace",
devices: ["iPhone SE", "iPhone XS"],
scheme: "MyAppTests")
end
Я перепробовал множество других путей в Podfile и даже попытался запустить все в контейнере Docker. Но то же самое, ошибка [!] You cannot run CocoaPods as root
остается. Что здесь не так?
Вот мой файл .gitlab-ci.yml:
stages:
- unit_tests
variables:
LC_ALL: "en_US.UTF-8"
LANG: "en_US.UTF-8"
before_script:
- gem install bundler
- bundle install
unit_tests:
dependencies: []
stage: unit_tests
artifacts:
paths:
- fastlane/screenshots
- fastlane/logs
script:
- bundle exec fastlane tests
tags:
- ios
Любая помощь приветствуется. Как сделать так, чтобы подфайл был распознан CI ???