【问题标题】:Perform actions on server after CircleCI deploymentCircleCI 部署后在服务器上执行操作
【发布时间】:2016-10-12 19:21:51
【问题描述】:

我有一个使用 CircleCI 部署在服务器上的 Django 项目。该服务器是一个基本的云服务器,我可以通过 SSH 连接到它。

我设置了circle.yml 文件的deployment 部分,一切正常。我想在部署后自动在服务器上执行一些操作(例如迁移数据库或重新加载 gunicorn)。

我有办法用 CircleCI 做到这一点吗?我查看了文档,但找不到与此特定问题相关的任何内容。我还尝试在我的部署步骤之后放置ssh user@my_server_ip,但后来我卡住了,无法执行任何操作。我可以成功 SSH 进去,但是没有调用其余命令。

这是我理想的circle.yml 文件的样子:

deployment:
  staging:
    branch: develop
      commands:
        - rsync --update ./requirements.txt user@server:/home/user/requirements.txt
        - rsync -r --update ./myapp/ user@server:/home/user/myapp/
        - ssh user@server
        - workon myapp_venv
        - cd /home/user/
        - pip install -r requirements.txt

【问题讨论】:

    标签: django ssh deployment circleci


    【解决方案1】:

    我通过将post_deploy.sh 文件放在服务器上解决了这个问题,并将这一行放在circle.yml 上: ssh -i ~/.ssh/id_myhost user@server 'post_deploy.sh' 它执行post_deploy.sh 文件中的指令,这正是我想要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多