Безперервне розгортання з gitignore


12

Як ви робите безперервне розгортання з Git, як ви обробляєте ігноровані файли в gitignore? Ці файли ігноруються з міркувань конфіденційності (тобто не хочу, щоб їх висилали до інших віддалених сховищ, як-от GitHub), але з тими ігнорованими файлами, які не пересуваються до сховища безперервного розгортання, вони не запускаються (як ігноровані файли необхідні для правильного функціонування програмного забезпечення).

Як люди зазвичай займаються цим? У цьому випадку, чи Git не є найкращим кандидатом на постійне розгортання через ігноровані файли?


2
Я голосую за те, щоб закрити це питання поза темою, оскільки воно не показує мінімальних, базових досліджень.
Мізерний Роджер

3
Я не бачу браку дослідницьких зусиль. О.П. , здається, розуміє , що gitignore робить прекрасно. Що я бачу, це проблема XY, але оскільки в запитанні пояснюються і X, і Y, Док зміг написати гідну відповідь, яка, сподіваємось, вирішує справжню проблему ОП.
Ixrec

1
@ScantRoger: якщо чесно, питання можна було б написати краще, але це далеко не так погано, що воно заслуговує на ретельне голосування.
Doc Brown

Відповіді:


14

Якщо ваше програмне забезпечення не працює без цих файлів, у вас виникнуть проблеми з будь-яким видом розгортання, вручну, автоматичним чи безперервним, з будь-яким типом VCS або навіть без будь-якого VCS. Отже, або змініть програмне забезпечення, щоб воно могло працювати фактично без цих файлів (наприклад, воно може припускати якісь "параметри за замовчуванням", якщо файли відсутні), або ви надаєте версію файлу, придатного для розгортання, який скопіюється ( як частина кроку розгортання) до середовища призначення, якщо на місці не існує "приватної" версії цих файлів.

Якщо ви говорите про щось на зразок файлу, що містить вхідні дані бази для входу на сервер, який з міркувань безпеки не хочете знаходитись у контролі версій, тоді вам доведеться один раз ввести цей файл у середовище розгортання , ймовірно, вручну , особою, яка має достатньо прав або знає пароль. Але це навмисно і не повинно перешкоджати розгортанню щоденних нових версій програмного забезпечення. Просто переконайтесь, що файли облікових даних на місці не перезаписані під час розгортання нової версії.


Погоджено, що якщо перевірка з vcs недостатня для збирання та запуску, хоча і у зменшеній ємності, то ваше вихідне дерево неповне.
Newtopian

@Newtopian: зауважте, що це може бути справді навмисно і правильно (див. Мій приклад).
Doc Brown

2

Інший варіант - зберігати конфіденційну інформацію всередині інструменту розгортання. І конфігурація інструмента розгортання в окремому сховищі приватних джерел.

Залишення конфіденційних даних на цільовій машині працює, але може би гнити - хтось змінює їх, не дотримуючись процедур, машина гальмує і ніхто не пам’ятає правильних налаштувань тощо ...

Наприклад, Saltstack має https://docs.saltstack.com/en/latest/topics/Weather/index.html

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.