Нужна отчаянная помощь:
Уже задан вопрос с gitlab-runner register
в качестве "оболочки", я пытаюсь задать очень похожий вопрос здесь с gitlab-runner register
в качестве "докера".
Уже 3 дня я пытаюсь запустить Gitlab CI (используя docker, fastlane - все для iOS-приложения с зависимостями Cocoapods).
Вот сообщение об ошибке, которое выдает GitLab CI:
Я сделал следующие шаги:
установить fastlane ( ссылка на страницу fastlane )
создайте проект GitLab и загрузите репозиторий вашего проекта ( ссылка на GitLab )
установить gitlab-runner в MacOS, , выполнив следующие действия ...
установить Docker (для рабочего стола), зарегистрироваться здесь и загрузить приложение
зарегистрируйте gitlab-runner (то есть откройте терминал и введите следующее):
(ваш токен можно найти в GitLab -> Настройки -> CI / CD)
sudo gitlab-runner register \
--non-interactive \
--url "https://gitlab.com/" \
--registration-token "TOKENABCDEFG" \
--description "MyApp runner with ruby-2.6" \
--tag-list ios \
--executor "docker" \
--docker-image ruby:2.6
запуск приложения Docker на вашем Mac
запустить образ докера (набрав в своем терминале следующее:)
docker run -d --name gitlab-runner --restart always \
-v /Users/Shared/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:latest
После этого любой толчок git в репозитории проекта GitLab автоматически запустит конвейер.
Я также попытался использовать локальную оболочку (вместо докера) - но безуспешно, либо , как описано здесь .
Что бы я ни пытался, я всегда получаю одно и то же сообщение об ошибке:
[08:48:04]: Driving the lane 'ios tests' ?
[08:48:04]: -----------------------
[08:48:04]: --- Step: cocoapods ---
[08:48:04]: -----------------------
[08:48:04]: Using deprecated option: '--clean' (true)
[08:48:04]: $ cd '.' && bundle exec pod install
[08:48:04]: ▸ WARNING: CocoaPods requires your terminal to be using UTF-8 encoding.
[08:48:04]: ▸ Consider adding the following to ~/.profile:
[08:48:04]: ▸ export LANG=en_US.UTF-8
[08:48:04]: ▸
[08:48:04]: ▸ bundler: failed to load command: pod (/usr/local/bundle/bin/pod)
[08:48:04]: ▸ CLAide::Help: [!] 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
А вот фастфайл:
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