powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / Управление процессом разработки ИС [игнор отключен] [закрыт для гостей] / Gerrit + git
13 сообщений из 13, страница 1 из 1
Gerrit + git
    #39514147
ditban
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, добрый день.
Все бьюсь над одной задачей.
Пытаюсь интегрировать git, gerrit и jenkins.
Делаю коммит и пуш на сервер. jenkins срабатывает и начинает свой job, собирает проект.
но gerrit никак не реагирует на пуши. Приходится в геррите открывать проект и создавать на него change.
Неужели это не автоматом генерируется? Я себе представляю воркфлоу таким образом: я создаю пуш на сервер, генерируется событие, автоматом создается change и отправляется уведомление на почту.
...
Рейтинг: 0 / 0
Gerrit + git
    #39514953
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ditbanКоллеги, добрый день.
Все бьюсь над одной задачей.
Пытаюсь интегрировать git, gerrit и jenkins.
Делаю коммит и пуш на сервер. jenkins срабатывает и начинает свой job, собирает проект.
но gerrit никак не реагирует на пуши. Приходится в геррите открывать проект и создавать на него change.
Неужели это не автоматом генерируется? Я себе представляю воркфлоу таким образом: я создаю пуш на сервер, генерируется событие, автоматом создается change и отправляется уведомление на почту.

1. Не используйте gerrit. Это какой-то сон разума. При наличии бесплатных альтернитав (например gitlab-ce) он не нужен совсем.
2. Изменения в gerrit надо делать строго через git review (скрипт для этого геррит создаёт автоматически). Тогда всё будет. Только jenkins'у будет тоскливо сканировать все ветки, которые никогда не удаляются.
...
Рейтинг: 0 / 0
Gerrit + git
    #39525618
ditban
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey Tomin,
а можно поподробнее про git review? Читала, что это отдельное расширение для gita. И вроде как не является обязательной. Желательна настройка change-id, это да.
Вот отправляю git push origin HEAD:refs/for/master, вижу, что в ветку refs/for/master все запушилось, но change автоматом так и не создался.
...
Рейтинг: 0 / 0
Gerrit + git
    #39525876
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ditbanAlexey Tomin,
а можно поподробнее про git review? Читала, что это отдельное расширение для gita. И вроде как не является обязательной. Желательна настройка change-id, это да.
Вот отправляю git push origin HEAD:refs/for/master, вижу, что в ветку refs/for/master все запушилось, но change автоматом так и не создался.

Про change-id - проще всего при клонировании проекта сделать это правильно - выбрать "clone with commit-msg hook" -


А git review- это чтобы не писать совсем уж уродский "git push origin HEAD:refs/for/master" - для этого надо в файл ~/.gitconfig добавить строки
Код: sql
1.
2.
3.
[alias]
        review = !bash -c \"git push origin HEAD:refs/for/$1\" -
        draft = !bash -c \"git push origin HEAD:refs/drafts/$1\" -


Ну и [user] заполнить, да...
...
Рейтинг: 0 / 0
Gerrit + git
    #39526080
ditban
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey Tomin,
Но ведь git-review не является обязательным? Почему может не создаваться change при пуше? Это от настроек проекта зависит? Или это хук?
...
Рейтинг: 0 / 0
Gerrit + git
    #39526085
ditban
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey Tomin,

и у меня нет функции "клонировать проект", тем более с commit-msg, я этот хук копирую в новый проект.

Какая у Вас версия gerrit?
...
Рейтинг: 0 / 0
Gerrit + git
    #39526195
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ditbanНо ведь git-review не является обязательным?

Вода дома тоже не является обязательной- можно на реку с ведром сбегать.

ditbanПочему может не создаваться change при пуше? Это от настроек проекта зависит? Или это хук?

Да, это именно что хук.

ditbanи у меня нет функции "клонировать проект", тем более с commit-msg, я этот хук копирую в новый проект.
Какая у Вас версия gerrit?

Версия 2.11.1
Реально хук копируется так:
Код: sql
1.
scp -p login@server:hooks/commit-msg project/.git/hooks/



Внутри- куча какой-то ереси, как обычно у gerrit.

PS: спешите спрашивать- у нас на gerrit остался один проект, где-то через месяц его тоже перенесу и начну стремительно забывать этот образец костылестроения.
...
Рейтинг: 0 / 0
Gerrit + git
    #39526882
ditban
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey Tomin, огромнейшее спасибо за помощь. Мне она просто необходима сейчас)
Смотрите.. я имела в виду не change-id что не создается, а именно объект "change". Вот этот:
Код: html
1.
2.
3.
4.
[quote автор]Change

    Every time you push a commit with a new Change-Id Gerrit allocates a new change. Every change has a unique Change-Id and a Change Number. The change contains a number of patch sets, comments on the patch sets and a code review rating (+2, +1, 0, -1, -2). Each change has a dedicated page that shows information about it called individual change page. This includes dependencies between different changes, patch sets and the review comments.
[/quote]



При пуше у меня change-id генерируется, я хук commit-msg добавила и он отрабатывает. Не работает именно автоматическое создание change'a. А вот вручную через интерфейс сделать этот change я могу.
...
Рейтинг: 0 / 0
Gerrit + git
    #39526886
ditban
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из доки:
Gerrit uses the refs/for/ prefix to map the concept of "Pushing for Review" to the git protocol. For the git client, it looks like every push goes to the same branch, such as refs/for/master. In fact, for each commit pushed to this ref, Gerrit creates a new ref under a refs/changes/ namespace, which Gerrit uses to track these commits. These references use the following format:
refs/changes/[CD]/[ABCD]/[EF]

То есть, при каждом пуше коммита в ветку refs/for/master, автоматом должна генерироваться запись в refs/changes/. По факту у меня не работает. При пуше коммита запись в refs/for/master вносится, но при этом не создается в refs/changes/.
...
Рейтинг: 0 / 0
Gerrit + git
    #39526926
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ditbanСмотрите.. я имела в виду не change-id что не создается, а именно объект "change". Вот этот:
Код: html
1.
2.
3.
4.
[quote автор]Change

    Every time you push a commit with a new Change-Id Gerrit allocates a new change. Every change has a unique Change-Id and a Change Number. The change contains a number of patch sets, comments on the patch sets and a code review rating (+2, +1, 0, -1, -2). Each change has a dedicated page that shows information about it called individual change page. This includes dependencies between different changes, patch sets and the review comments.
[/quote]




При пуше у меня change-id генерируется, я хук commit-msg добавила и он отрабатывает. Не работает именно автоматическое создание change'a. А вот вручную через интерфейс сделать этот change я могу.

Ух ты, какая забавная штука! Я первый раз узнал про существование этого. Глянул "git ls-remote --refs" - прикольно.
Прошу прощения, но я не в курсе, как это рабоает. Будет время- попробую спросит того, кто это настраивал, но у него мало времени для ответа про технологию, которая у нас удаляется :)
...
Рейтинг: 0 / 0
Gerrit + git
    #39527229
ditban
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey Tomin,

спросите, пожалуйста. У меня остался этот незакрытый вопрос и тогда вся связка gerrit+genkins заработает. Спрашиваю уже на разных форумах и никто ответить не может(
...
Рейтинг: 0 / 0
Gerrit + git
    #39527644
ditban
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey Tomin,

а может там дополнительно нужно какие-то настройки проекта сделать? Сейчас развернула gerrit 2.11, создала проект с правами на основе проекта All-Projects и все по умолчанию. Ветка тоже по умолчанию только master. И все так же: при пуше в refs/for/master не создается автоматом коммит
...
Рейтинг: 0 / 0
Gerrit + git
    #39527745
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ditbanAlexey Tomin,

а может там дополнительно нужно какие-то настройки проекта сделать? Сейчас развернула gerrit 2.11, создала проект с правами на основе проекта All-Projects и все по умолчанию. Ветка тоже по умолчанию только master. И все так же: при пуше в refs/for/master не создается автоматом коммит

Я в почту написал. Ответьте.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Управление процессом разработки ИС [игнор отключен] [закрыт для гостей] / Gerrit + git
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]