Как настроить TeamCity с приватными файлами?
Я настраиваю TeamCity для непрерывной интеграции и (надеюсь) непрерывного развертывания. Некоторые из этапов сборки будут включать частные файлы, например.
- .snk файлы для сильных имен .NET сборки
- файлы паролей/токенов для публикации артефактов (например, для NuGet или CodePlex)
Поскольку эти файлы содержат личные данные, я не хочу помещать их в (общедоступную) систему управления версиями.
Я настраиваю http://teamcity.codebetter.com для AutoFixture, поэтому у меня нет физического доступа к серверу. Я надеялся на функцию, которая позволила бы мне загружать такие файлы, но не могу найти ничего подобного.
Каким будет наиболее подходящее решение?
Ответы
Ответ 1
TeamCity поддерживает несколько корней VCS, поэтому вы можете просто добавить дополнительный корень VCS с этими приватными файлами.
Очевидно, это потребует, чтобы второй репозиторий был приватным, но это то, что вы хотите любым способом. Наличие этих файлов в контроле источника - это отличная вещь.
Ответ 2
Я бы поставил файлы, которые мне нужны в исходном элементе управления, но сначала их зашифровал. Затем я установил параметр в сборке, который был ключевой фразой или ключом, необходимым для дешифрования файлов. Сборка будет расшифровывать файлы, независимо от того, были ли они подписаны или опубликованы, а затем удалить их (стереть их, если система разрешает такие). Этого должно быть достаточно, чтобы держать вещи в безопасности, если город команды не скомпрометирован, и если это вы, в любом случае, потоплены.
В зависимости от используемых средств управления источниками возможно, что файлы могут быть видны только определенным пользователям, прошедшим проверку подлинности. У Perforce есть такая возможность, но я никогда не видел ничего для более популярных систем DVCS.