django - 如何使用批处理文件运行 Vagrant 命令,但完成后让我连接到 Vagrant?
问题描述
到目前为止,这是我在批处理文件中的内容:
set root="C:\Users\esohlberg\lwebsite"
cd %root%
vagrant up
vagrant ssh -- -t "source lw/bin/activate && cd /vagrant/; ./manage.py runserver 0.0.0.0:8000"
cmd /k
一旦 Vagrant 启动,我激活一个 virtualenv,cd 到正确的位置,然后运行一个服务器。执行此操作将我一直带到正在运行的服务器,在那里我可以看到
System check identified no issues (0 silenced).
August 24, 2018 - 12:33:12
Django version 2.0.3, using settings 'lwebsite.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
但是,一旦我用 CONTROL-C 退出,我就会看到
Connection to 127.0.0.1 closed.
而且我不再是流浪者。是否可以以这样一种方式设置命令,即一旦服务器退出,我会留在 /vagrant/ 目录中,连接仍然正常,Vagrant 的 virtualenv 仍然处于活动状态?这将使我能够更轻松地管理站点或再次运行服务器。
我已经查看了https://www.vagrantup.com/docs/provisioning/shell.html,但是这些示例似乎显示了仅在配置期间执行的命令,我不想每次执行时都这样做文件。
解决方案
我创建了三个 .bat 文件来启动、停止 vagrant 并通过 ssh 连接。
为了启动 vagrant,还添加了这个以在 Windows 启动时自动运行:
cd /d "C:\Homestead"
start vagrant up
为了阻止流浪者:
@echo off
cd /d "C:\Homestead"
start vagrant halt
并通过 ssh 连接到本地服务器
cd /d "C:\Homestead"
vagrant ssh
推荐阅读
- python - Python - 进入第一个while循环?
- latex - 在 R Markdown 文档上用 LaTeX 编写的方程不能被引用,也不能自动编号
- browser - 从一个 cics 程序开始,是否可以给出一个指令(带有一个特定的 url)来打开一个 web 浏览器页面?
- python-3.x - ZeroMQ 永久 PULL 套接字
- java - 数组越界>
- linux - 如何获取当前运行的 shell 脚本(cshell linux)的路径
- javascript - 在 Svelte 中导入 Stencil
- python - Python 发送 escpos 命令到热敏打印机字符大小问题
- arrays - 如何在本机 Swift 中实现以前称为 NSMutableOrderedSet 的可变有序集泛型类型?
- javascript - 使用 JavaScript 隐藏基于用户电子邮件的 div