GitLab CI: проблема проекта iOS (разрешение отклонено) - PullRequest
0 голосов
/ 28 марта 2019

Пытаясь использовать GitLab CI для моего проекта iOS, я следую этому , этому и этому учебнику.

Два вопроса:

  1. Что не так с моим gitlab-runner (с регистрацией "shell"), поскольку GitLab CI выдает следующую ошибку:
Running with gitlab-runner 11.9.0 (692ae235)
  on MyApp runner with shell DsaBC-oQ
Using Shell executor...
Running on MyComputer.network.provider...
mkdir: /Users/myusername/builds/DsaBC-oQ/0/username/myproj.tmp: Permission denied
mkdir: /Users/myusername/builds/DsaBC-oQ/0/username/myproj.tmp: Permission denied
ERROR: Job failed: exit status 1
Некоторые говорят, что для регистрации на gitlab-runner нужно использовать «sudo».Но тогда мне понадобится «докер».Но кажется, что «докер» нельзя использовать для проекта iOS в GitLab (но только для регистрации «оболочки»).Это правда ?(если нет, то как выглядит команда регистрации gitlab-runner именно для регистрации докера ??).Работает ли "докер" для iOS-проекта вообще с использованием GitLab ??

Вот мой .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

Я попытался зарегистрировать gitlab-runner следующим образом:

gitlab-runner register \
  --non-interactive \
  --url "https://gitlab.com/" \
  --registration-token "TOKENABCDEF" \
  --description "MyApp runner with shell" \
  --tag-list ios \
  --executor "shell"

«Оболочка»пробная версия заставляет Gitlab-CI показывать вышеупомянутую ошибку (т.е. permission denied)

и я также пытался зарегистрировать gitlab-runner с помощью docker:

gitlab-runner register \
  --non-interactive \
  --url "https://gitlab.com/" \
  --registration-token "TOKENABCEDF" \
  --description "MyApp runner with docker and ruby-2.6” \
  --tag-list ios \
  --executor "docker" \
  --docker-image ruby:2.6

но пробная версия "docker"заставил GitLab-CI показать еще одну ошибку (т.е. [!] You cannot run CocoaPods as root), как объяснено более подробно здесь ...

Любая идея о том, как сделать этот GitLab-CI для iOS-проектанаконец-то работать правильно вообще ??Спасибо за любую подсказку.(после 3 дней испытаний я более чем отчаянно нуждаюсь в этом для работы) ...

1 Ответ

0 голосов
/ 29 марта 2019

Оказалось, что ошибка «отказано в разрешении» на моем GitLab Pipeline не имеет ничего общего с самим GitLab - но была из-за несоответствия версии Ruby на моем Mac, которое я подключил к gitlab-runner.

Мне удалось обновить мою версию Ruby с помощью этого сообщения (т.е. с использованием chruby). Существуют и другие возможности обновления Ruby на вашем Mac. Важно понимать, что GitLab требует, чтобы ваш Mac имел стабильную среду Ruby.

В качестве дополнительного примечания: Вот лучший учебник о том, как настроить GitLab CI для iOS-проекта , который я нашел.

...