2015-01-14 5 views
0

Я хочу автоматизировать удаленный deploymemnet, который в настоящее время я делаю вручную.Как я могу автоматизировать удаленное развертывание в python

Процесс включает в себя

  1. Сделать деготь мяч из определенных папок
  2. SFTP на удаленный сервер
  3. переименовывать старые Folders
  4. распакуйте новый деготь файл
  5. Перезапустите Apache

Удаленная система находится в интрасети и имеет n o доступ к внешнему интернету

Я хочу знать, как я могу перенести файл из моего сценария python, а затем, когда передача завершена, войдите в ssh и делайте что-нибудь. Я смущен, как я могу это достичь. на локальном хосте, и я могу делать все это, но как я могу это сделать на удаленном хосте

+0

Вызвать сценарий оболочки с помощью 'system', вы можете легко написать скрипт bash, чтобы позаботиться об этом для вас! – ShellFish

+0

Если бы это был я, я бы использовал 'git' и' post-receive', как в этих примерах: [1] (http://www.sitepoint.com/one-click-app-deployment-server- side-git-hooks /) [2] (http://toroid.org/ams/git-website-howto). Идея состоит в том, чтобы нажать на репозиторий git на сервере и использовать крючок (сценарий), который копирует последние файлы в каталог развертывания и перезапускает, или сигнализирует о необходимости перезапуска cron. Фактически большинство ваших шагов (архивирование, хранение старых папок) может быть неактуальным, как только git управляет резервными копиями и историей ревизий для вас. – Paul

+0

@Paul моя проблема в том, что на удаленной системе интернет не доступен. только интрасеть. так вот почему я хочу получить все на своем локальном компьютере и когда-то готов, то я могу VPN – user3214546

ответ

0

Для простого & грязной работы, которую вы можете использовать fabric (Это вовсе не означает, что вы не можете использовать ткань, чтобы построить серьезный продукт)

Для тяжелых конфигураций вам лучше выбрать CMS (например, ansible)