VSTS Docker发布步骤

时间:2017-09-01 15:03:07

标签: ubuntu docker azure-devops azure-pipelines-release-pipeline

我很困惑使用VSTS将我的项目docker容器从docker存储库推送到我的生产服务器上需要什么。

我已完成以下步骤:

  1. 使用Dockerfile创建我的应用程序
  2. 在VSTS上运行构建以创建docker容器
  3. 将该容器推入我的hub.docker.io帐户。
  4. 我可以手动登录我的linux(ubuntu 16)框并拉下容器并100%运行。

    我想在VSTS中创建一个发布步骤/操作,为我做最后一个手动步骤。这可能吗?如果是这样,有人可以解释这些步骤或指向一个好的指南。

    注意:网络盒子是我自己的私人VPS盒子,没有主要的云提供者,只是直接安装了docker的ubuntu。

1 个答案:

答案 0 :(得分:0)

你现在有不同的选择。您可以使用Ansible之类的工具创建脚本并在远程服务器上运行。

或者您可以在远程服务器上创建执行整个更新过程的脚本

<强> /var/myapp/update.sh

#!/bin/bash
docker pull myimage:latest
docker stop myapp
docker rm myapp
docker run -d -p 80:80 --name myapp myimage:latest

设置基于密钥的SSH会话,然后使用下面的

ssh -i keyfile <user>@<Server> bash -c "/var/myapp/update.sh"

编辑-1

对于tty问题,请将ssh命令更改为

ssh -t -i keyfile <user>@<Server> bash -c "/var/myapp/update.sh"

对于sudo问题,您可以将用户添加到docker组

sudo usermod -aG docker <user>