2017-09-01 63 views
0

我对使用VSTS将Docker容器从Docker存储库推入生产服务器所需的内容感到困惑。VSTS Docker发布步骤

我也做了以下步骤:

  1. 创建我的Dockerfile
  2. 应用程序运行在VSTS构建创建一个泊坞窗容器
  3. 推该容器到我的帐户hub.docker.io。

我手动能够登录ontu我的linux(Ubuntu 16)框,并拉下容器并运行它100%。

我想在VSTS中创建一个释放步骤/动作,为我做最后一个手动步骤。这可能吗?如果是的话,有人可以解释这些步骤或指出一个好的指导。

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

+0

你必须在框中基于SSH密钥的访问? –

+0

我可以设置一个,而不是一个问题。 – user281921

回答

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的问题,您可以将您的用户泊坞窗组

sudo usermod -aG docker <user> 
+0

好的,我在哪里运行“ssh i keyfile ...”?请记住,这是一个在VSTS上运行的发布过程。 – user281921

+0

看看这是否有帮助https://www.visualstudio.com/en-us/docs/build/actions/agents/v2-linux –

+0

而且这也是https://www.visualstudio.com/en-us/docs/build/steps/deploy/ssh –

相关问题