Я не могу использовать push_to_git_remote () в fastlane - PullRequest
0 голосов
/ 10 февраля 2020

У меня проблема с gitlab, gitlab-ci и fastlane. В fastlane я использую:

  def increament_build_and_commit
    incrementBuildNumber()
    commit_version_bump(message: 'build number bump [skip ci]')
    push_to_git_remote(
    remote: 'origin_rw',
    remote_branch: ENV['CI_COMMIT_BRANCH']
    )   
  end

Поэтому я хочу увеличить номер сборки и коммит. Таким образом, он выполняет свою работу с:

incrementBuildNumber(),
commit_version_bump(message: 'build number bump [skip ci]')

Но при запуске происходит сбой при push_to_git_remote

[!] Выход из состояния команды 'git pu sh origin_rw HEAD : HEAD --tags --set-upstream 'было 1 вместо 0. error: Указанный вами адресат не является полным именем (т. Е. Начинается с "refs /"). Мы попытались угадать, что вы имели в виду: - Ищем ссылку, которая соответствует 'HEAD' на удаленной стороне. - Проверка, является ли нажатие ('HEAD') ссылкой в ​​"refs / {head, tags} /". Если это так, мы добавляем соответствующий префикс
refs / {heads, tags} / на удаленной стороне. Ни один из них не сработал, поэтому мы сдались. Вы должны полностью квалифицировать реф. подсказка: часть refspe c является объектом коммита. подсказка: вы хотели создать новую ветку, нажав на подсказку: «HEAD: refs /heads / HEAD»? ошибка: не удалось отправить некоторые ссылки на '**********. git'

У некоторых из вас есть какие-либо подсказки, что делать и как решить эту проблему? Поскольку я собираюсь быть машиной Google на этом, но, к сожалению, не могу найти решение. Заранее спасибо !!

1 Ответ

0 голосов
/ 29 февраля 2020

Это происходит потому, что gitlab-ci checkouts git фиксирует вместо git ответвление, и вы переходите в состояние отсоединенного HEAD.

Есть несколько способов обойти это:

1) Использовать значение CI. Для GitLab я бы рекомендовал использовать CI_PIPELINE_IID. Недостатком является то, что вы не можете управлять им, и если вы перенесете свой проект в другой репозиторий, он снова запустится с 1.

2) Оформить git ветку перед выполнением коммита. Недостатком является то, что если другой разработчик подталкивает к той же ветке, ваш конвейер продолжит работу с неверным исходным кодом.

3) Подтвердите изменение номера версии вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...