Куда и как правильно положить свои скрипты и как их лучще хранить?

Не корысти ради, а токмо волею пославшей мя супруги заказчиков, не имеющих денег на админов, вынужден не только разработкой заниматься, но и администрированием vds под их проекты, над которыми работаю. использую Ubuntu Server. Есть несколько скриптов на bash/python/php для сервера (создание виртхостов nginx+php-fpm и пользователей для них, бэкапы, анализ логов и прочие мелочи). некоторые скрипты должны запускаться от рута (через sudo), некоторые от текущего пользователя (каждый виртхост — свой пользователь и группа). Как это всё организовать, желательно с каким-то центральным репозиторием (известным, бесплатным), с которого можно было бы разворачивать привычное окружение на новом сервере, даже если старый и личный десктоп оказались недоступны?


Как мне видится: скрипты разрабатываются локально под контролем git или hg (исходники хостятся на github или bitbacket), потом «ручками» (условно тоже каким-нибудь скриптом, возможно хуком на vcs) формируются deb-пакеты (по сути из одного файла), заливаются на launchpad (вроде единственный популярный бесплатный хостинг, на котором можно deb репозиторий без проблем поднять), адрес репа добавляется в source-list, и потом через apt-get скрипты ставятся в /usr/local/bin/<scriptname.sh> (чтобы сразу через path были доступны), при необходимости создаются каталоги в /usr/local/{lib,share,etc}. Получаю что на любой машине (с Ubuntu точно, с другими Debian-like вероятно, а остальные особо не интересуют), могу развернуть привычное окружение. Недостаток — пакеты, а в случае github и исходники, доступны в паблике (и над ними могут все ржать :)


Или я себе слишком жизнь усложняю и обычно это всё проще решается? или отдельные замечания к моему сценарию есть? Может без local надо обходиться, раз через apt ставлю? Может ещё что?
  • Вопрос задан
  • 13872 просмотра
Пригласить эксперта
Ответы на вопрос 5
Anonym
@Anonym
Программирую немного )
git clone <repo>
git checkout <branch>
sudo ./install.sh

Как-то так. Зачем заморачиваться с deb пакетами и прочим? Напишите один скрипт, заведите git репозиторий.
Ответ написан
z0rc
@z0rc
Под всё это просится puppet. Но его сервер вам придётся держать самостоятельно (заодно на нём можно будет организовать репозитории для кода и пакетов).
Ответ написан
Я использую chef.
Он очень крутой.
Если в него вникнуть, то вопросы с настройкой серверов будут решаться быстро.
А храню я настройки chef на github.
Ответ написан
@egorinsk
> Куда и как правильно положить свои скрипты

/usr/local/bin

/usr/local специально для своих скриптов и предназначен. Если вы не хотите выкладывать их в публичные репозитории, надо поднять свой (хотя, если это простые скрипты, может их проще из tar архива распаковать?)
Ответ написан
FanKiLL
@FanKiLL
На bitbucket можно и приватные репозитории держать, там есть раздел где можно добавить ключи сервера для деплоя. Чтобы сервер мог по ssh забирать с репозитория.
Если не хотите в local ставить скрипты, можно в ~/.bash_aliases прописать алиасы прям до папки с клонированым репозиторием.
Например:
alias yourComandName='python /home/User/Repos/scriptName.py'
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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