Добавление метаданных в git commit для получения инструкций о том, как тестировать - PullRequest
0 голосов
/ 19 мая 2019

У нас есть базовая система CI / CD ... когда происходит push, Bitbucket уведомит один из наших серверов - есть коммит ша, репо и т. Д.

Но не существует очевидного (для меня) способа проверить репо по-разному в зависимости от коммита. Особенно, если это большой репо, мы не можем проверить все. Поэтому я думаю что-то вроде этого:

git commit -am "regular commit message # path/to/test/folder"

, поэтому все, что после последнего # в сообщении о фиксации, будет указывать путь к папке, содержащей файл test.sh. Если у нас есть git pre commit hooks, мы можем проверить информацию в сообщении commit?

Есть ли лучший способ сделать это? Добавить метаданные в коммит, чтобы указать серверам CI / CD, как тестировать коммит?

Ответы [ 2 ]

0 голосов
/ 19 мая 2019

Лучше всего помещать такие метаданные в сообщения фиксации с заголовком , чтобы отличать их от любых других метаданных.Например, Геррит использует заголовок Change-Id:

Change-Id: xyzzy

Таким образом, ваша команда должна выглядеть примерно так:

git commit -a -m "regular commit message" -m "Test: path/to/test/folder"

Это создает сообщение о коммите

regular commit message

Test: path/to/test/folder

Остальноедо тестового сценария.

0 голосов
/ 19 мая 2019

Лучше использовать сообщения о коммитах по их прямому назначению - описать содержание и обоснование коммита.Вот хороший справочник .

О CI / CD. В некоторых случаях нежелание проверять все имеет смысл, но я бы предложил разделить тесты как можно позже.IOW, проверяйте все на каждом коммите и держите тесты как можно быстрее.Когда вам нужно продолжить оптимизацию, вы можете разделить тесты по времени их выполнения - запускать все «быстрые» тесты для каждого коммита и все «медленные» в ночной работе.

...