Gitlab-ci: распространять задания форматирования кода в источниках - PullRequest
0 голосов
/ 27 февраля 2020

[ Context ] В настоящее время я работаю в очень разнородной / низкотехнологичной среде. Большинство людей здесь используют различные IDE, и

  • сможет следовать процедуре установки xmllint
  • не будет достаточно дисциплинированным, чтобы отформатировать свой код перед тем, как выдвинуть его на Gitlab

Давайте сосредоточимся на XML форматировании (мы работаем с довольно длинными xml conf файлами). Я задавался вопросом, является ли их способ форматировать отправленный код так, чтобы результат сохранялся в основной ветке исходных текстов проекта , а не в артефактах сборки .

format: 
  image: ruby:2.7.0-alpine3.11
  script: 
    - apk add libxml2-utils
    - find . -name "*.xml" -type f -exec xmllint --output '{}' --format '{}' \;

Суть в том, чтобы иметь возможность diff без какого-либо беспорядочного форматирования ложных срабатываний. Мне известно о том, что это не является обычным использованием конвейеров и что для распространения изменений может потребоваться новый commit | push, выданный бегуном (см. этот прием ). Что вы посоветуете? Есть ли более прямой или элегантный способ реализовать это?

...