Ветви Git для управления скриптами и таймерами, специфичными для компьютеров: хорошо или плохая идея?

У меня есть сценарий bash, который мне нужно запустить на нескольких (личных) машинах с использованием таймеров systemd. Хотя эти сценарии во многом схожи, в этих сценариях есть некоторые функции, которые мне нужно включить на некоторых машинах, но не на других.

Прямо сейчас я использую ветки git для управления скриптами и таймерами. Это кажется удобным и работает нормально, но мне интересно, рекомендуется ли это.

Хотя маловероятно, но я вижу потенциальный источник проблем (ошибка, вызванная человеком): проверка неправильной ветки на машине.

12107] Мои вопросы:

  1. Достаточно ли этого для беспокойства, чтобы не использовать git?

  2. Существуют ли другие потенциальные проблемы, которые я, возможно, не учел?

  3. Рекомендуется ли этот метод для управления сценариями и таймерами на нескольких машинах? Или мне лучше: (а) переписать сценарии, чтобы сделать их более переносимыми и настраиваемыми, (б) просто иметь файлы, специфичные для машины, без веток git, (c) что-то еще?

0
задан 1 September 2017 в 15:13
1 ответ

Я поддерживаю библиотеку node-config и пережил несколько сбоев конфигурации, прежде чем нашел успешную модель.

I рекомендую хранить всю конфигурацию в одной ветке.

Подумайте о каком-то обновлении, которое вы хотите сделать, которое можно было бы выполнить с помощью функции поиска и замены в ваших файлах. Если все файлы находятся в одном каталоге, это несложно. Если изменение влияет на работу в других ветвях, вам нужно проверить каждую ветку, чтобы внести изменения в каждую ветку.

В node-config мы используем переменную среды для установки «среды», например «производство» или «разработка», а другую - для установки «экземпляра». Он также позволяет выполнять настройку на основе имени хоста текущего компьютера.

Результатом является единая кодовая база с единой централизованной конфигурацией. Код настроен так, чтобы вести себя по-разному в зависимости от переменных среды и имени хоста - сам код точно такой же для сред и хостов.

В вашем случае вы могли бы иметь в своей структуре bash источник одного или нескольких файлов на основе имени хоста. Таким образом, ваш код может быть одинаковым везде, но при этом вести себя должным образом на разных хостах.

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

1
ответ дан 4 December 2019 в 16:09

Теги

Похожие вопросы