VSTS Docker 发布步骤

VSTS Docker Release step

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

我已经完成了以下步骤:

  1. 使用 Dockerfile 创建我的应用程序
  2. 运行 在 VSTS 上构建以创建 docker 容器
  3. 将该容器推送到我的 hub.docker.io 帐户中。

我可以手动登录我的 linux (ubuntu 16) 盒子并将容器拉下来 运行 100%。

我想在 VSTS 中创建一个版本 step/action 来为我完成最后一个手动步骤。这可能吗?如果是这样,有人可以解释这些步骤或指出一个好的指南。

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

你现在有不同的选择。您可以使用像 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>