Я написал набор сценариев bash + crontab, которые в основном позволяют мне взять новый сервер Linux и развернуть на нем репозиторий git. Все в порядке, но это довольно частичный процесс, и мне интересно, есть ли какие-нибудь указания на более профессиональную / отточенную версию такого рабочего процесса?
Или мне не хватает лодки? Есть ли лучший способ развертывания серверов + приложений на облачных виртуальных машинах с низким бюджетом / без бюджета, на который я должен обратить внимание?
РЕДАКТИРОВАТЬ Что касается инструментов управления конфигурацией, таких как Salt или Ansible, я стараюсь не идти по этому пути, потому что (кажется) требуется несколько недель, чтобы изучить эти инструменты, достаточно, чтобы решить, удовлетворит ли он мои потребности. Я не работаю на полную ставку и предпочитаю иметь как можно меньше движущихся частей. Хотя, если я ошибаюсь в этом утверждении, дайте мне знать!
Я бы абсолютно сказал, что вам нужно перейти к решению для управления конфигурациями, потому что я считаю это профессиональным решением. Я предпочитаю Ansible, потому что его довольно легко изучить и настроить, и для него требуется только ssh-доступ к серверам.
В Ansible есть модуль git, который может клонировать репо в любой каталог, который вам нужен, и вы можете очень легко скопировать закрытый ключ на новый сервер, если это необходимо. В нем также есть модули для копирования файлов и запуска скриптов, и почти все, что вам нужно.
Я создал Ansible playbook для создания облачных серверов Rackspace и их настройки, включая проверку репозитория git для веб-кода и настройку nginx для использования его в качестве веб-фута.
Я понимаю, что вам потребуется время, чтобы изучить его, но это время будет потрачено не зря, потому что это сэкономит ваше время в будущем. У вас уже есть несколько сценариев, и перенести их в ansible - даже если сначала вы просто вызываете сценарии - чрезвычайно просто. Это не будет многонедельным процессом обучения. Начните медленно и наращивайте - вам не нужно пытаться сделать слишком много сразу.