VSTS Docker 发布步骤
VSTS Docker Release step
我对使用 VSTS 从 docker 存储库将我的项目 docker 容器推送到我的生产服务器需要什么感到困惑。
我已经完成了以下步骤:
- 使用 Dockerfile 创建我的应用程序
- 运行 在 VSTS 上构建以创建 docker 容器
- 将该容器推送到我的 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>
我对使用 VSTS 从 docker 存储库将我的项目 docker 容器推送到我的生产服务器需要什么感到困惑。
我已经完成了以下步骤:
- 使用 Dockerfile 创建我的应用程序
- 运行 在 VSTS 上构建以创建 docker 容器
- 将该容器推送到我的 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>