2016-10-12 4 views
0

У меня есть проект Django, который я развертываю на сервере с помощью CircleCI. Сервер является базовым облачным сервером, и я могу использовать SSH.Выполнение действий на сервере после развертывания CircleCI

Я установил раздел deployment моего файла circle.yml, и все работает нормально. Я хотел бы автоматически выполнить некоторые действия на сервере после развертывания (например, перенастроить базу данных или перезагрузить gunicorn).

У меня есть способ сделать это с CircleCI? Я смотрел документы, но не мог найти ничего связанного с этой конкретной проблемой. Я также попытался поставить ssh [email protected]_server_ip после моего этапа развертывания, но затем я застрял и не могу выполнить никаких действий. Я могу успешно использовать SSH, но остальные команды не вызываются.

Вот что мой файл идеально circle.yml будет выглядеть так:

deployment: 
    staging: 
    branch: develop 
     commands: 
     - rsync --update ./requirements.txt [email protected]:/home/user/requirements.txt 
     - rsync -r --update ./myapp/ [email protected]:/home/user/myapp/ 
     - ssh [email protected] 
     - workon myapp_venv 
     - cd /home/user/ 
     - pip install -r requirements.txt 

ответ

1

Я решил проблему, поставив post_deploy.sh файл на сервере, и поставить эту линию на circle.yml: ssh -i ~/.ssh/id_myhost [email protected] 'post_deploy.sh' Он выполняет инструкции в файле post_deploy.sh, что я и хотел.

Смежные вопросы