У нас есть модель разработки, в которой каждый разработчик отвечает за развертывание программы, за которую он / она отвечает.
Мы хотим достичь следующего:
В настоящее время мы написали все наши сценарии развертывания на ткань.
У нас есть одна учетная запись для каждого приложения. SSH-ключи для этой учетной записи выдаются разработчикам, ответственным за развертывание этого приложения. Эта учетная запись также используется для запуска приложения.
Таким образом достигается пункт 1, 4 и отчасти 2, но не 3. Недостатком этого также является то, что среда сервера должна быть подготовлена, поскольку мы не хотим предоставлять root-доступ к учетным записям приложений (зависимости устанавливаются кем-то, кто является root, каталоги созданы).
Как мы должны настроить нашу стратегию развертывания, чтобы решить указанные выше вопросы, и не упустили ли мы какую-то важную цель для стратегии?
Прямо сейчас у нас есть похожая стратегия, и мы отходим от нее именно из-за вашего пункта 3) выше.
Ситуация, когда программист также несет ответственность за выпуски, выглядит действительно красиво и просто, удобно и быстро, но если вы заботитесь о стабильности системы и подотчетности, она быстро превращается в кошмар, поскольку поощряет быстрые взломы ("никто не должен знать , здесь мы исправили это быстро, как будто этого никогда не было ") и не рекомендует надлежащую документацию (" но все это знают "). Рецензирование? Fuhghehtaboutit;)
Все, что вы получите с такой системой, - это постоянная борьба между системными администраторами и программистами, поверьте мне, я был там не так давно.
Единственный путь к стабильной и хорошо документированной системе - это то, что все шаги, необходимые для выпуска, должны быть должным образом задокументированы, написаны сценариями и протестированы как можно чаще, в идеале тестовые системы должны автоматически перестраиваться каждый день. Как только вы перейдете на этот этап, любой сможет запустить сценарии и выпустить релиз, и он должен не быть тем, кто их написал, так как он не заинтересован в сообщении о своих упущениях.