我正在尝试通过MUP部署我的应用程序,除了运行命令时一切正常mup deploy
。在浏览器网站加载但它没有显示我所做的最新更改。构建文件包含我所做的所有更改。我使用 Amazon EC2 作为服务器。
编辑:
在 MUP 日志中,它显示服务器已在端口 80 上启动。我还检查了它具有最新代码的构建文件,但不知何故服务器没有在浏览器中呈现。我不确定它的 MUP 或流星构建或亚马逊 EC2 服务器的问题。
我正在尝试通过MUP部署我的应用程序,除了运行命令时一切正常mup deploy
。在浏览器网站加载但它没有显示我所做的最新更改。构建文件包含我所做的所有更改。我使用 Amazon EC2 作为服务器。
编辑:
在 MUP 日志中,它显示服务器已在端口 80 上启动。我还检查了它具有最新代码的构建文件,但不知何故服务器没有在浏览器中呈现。我不确定它的 MUP 或流星构建或亚马逊 EC2 服务器的问题。
由于我有完全相同的问题,我可以澄清这个问题。
我在 Windows 10 上使用 Mup build 1.2.8/latest,Meteor v1.4.4.2/latest,部署到 Digital Ocean 上的 Ubuntu 14.04。
执行“mup.cmd deploy”构建包,将其推送到服务器,启动应用程序并验证部署,所有这些都成功。“mup.cmd 日志”显示的流星日志显示应用程序已成功启动(除了应该在新部署的版本中修复的 Kadira 警告)。浏览我的应用程序不会显示我最近的任何更改(它们在本地运行时会显示)。似乎更新的容器不是正在运行的容器。我尝试启动、停止和删除 Docker 容器无济于事。
作为参考,这是我正在使用的 mup.js 文件(更改了名称以保护有罪者)。该文件在 6 周前可以正常部署。
module.exports = {
servers: {
one: {
host: '1.2.3.4',
username: 'Ron',
pem: '/cygwin64/home/Ron/.ssh/id_rsa',
}
},
meteor: {
name: 'MyApp',
path: '../',
servers: {
one: {}
},
buildOptions: {
serverOnly: true,
debug: true,
cleanAfterBuild: true,
buildLocation: '../../output'
},
env: {
// TODO: Change to your app's url
// If you are using ssl, it needs to start with https://
ROOT_URL: 'https://MyApp.com',
MONGO_URL: 'mongodb://localhost/meteor'
},
docker: {
// change to 'kadirahq/meteord' if your app is not using Meteor 1.4
image: 'abernix/meteord:base'
},
// This is the maximum time in seconds it will wait
// for your app to start
// Add 30 seconds if the server has 512mb of ram
// And 30 more if you have binary npm dependencies.
deployCheckWaitTime: 60,
ssl: {
autogenerate: {
email: 'email@example.com',
domains: 'MyApp.com, www.MyApp.com'
}
},
// Show progress bar while uploading bundle to server
// You might need to disable it on CI servers
enableUploadProgressBar: true
},
mongo: {
port: 27017,
version: '3.4.1',
servers: {
one: {}
}
}
};
编辑:: 我删除了除 mongo 之外的所有容器和图像,再次运行“mup setup”和“mup deploy”,结果完全相同,旧版本正在运行。所以问题似乎出在 mup 的流星构建部分。
编辑 2:: 我发现了至少 1 个问题。我将 buildLocation 设置为相对路径。在某些时候,Mup 会更改当前目录,从而导致使用 buildLocation 的多个副本。在我的例子中,Meteor 构建命令的输出(新文件)在一个中,而 Mup 正在从另一个恰好包含旧文件的服务器部署到服务器。我将 buildLocation 更改为绝对路径,并且正在部署新版本。是的!但是等等,即使 Mup 说验证成功,我的应用程序也永远不会运行,并且容器会不断重启。查看日志,我怀疑问题出在下面的行上。不知何故,路径中有一个反斜杠。我不确定这是从哪里来的。
[192.241.229.15]npm 错误!enoent ENOENT:没有这样的文件或目录,chmod '/bundle/bundle/programs/server/npm/node_modules/sshpk/bin\sshpk-conv'
解决方案::感谢 Parth Mahida,我受到启发,删除了服务器上的 /opt/MyApp 目录,并在我的构建机器上删除并重新安装了 sshpk NPM 包,然后重新设置了 Mup 设置和 Mup 部署,一切都恢复了。不知道 sshpk 包是如何损坏的,但此时我不在乎。