2017-09-01 138 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 –

相關問題