我正在AWS EC2实例上托管Meteor应用程序。我成功设法使用Meteor-up(mup deploy
命令)两次部署我的应用程序。
但经过一些修改后,mup deploy
仍然会返回一个完美的消息(下面),但什么也没做,应用程序没有更新。我尝试在之后重新启动实例(并清理我自己的缓存),但我仍然使用旧版本。
Building App Bundle Locally
Started TaskList: Pushing Meteor
[XX.XX.XX.X] - Pushing Meteor App Bundle to The Server
[XX.XX.XX.X] - Pushing Meteor App Bundle to The Server: SUCCESS
[XX.XX.XX.X] - Pushing the Startup Script
[XX.XX.XX.X] - Pushing the Startup Script: SUCCESS
我可以使用ssh
连接到该应用,但我不知道接下来该做什么。我最近切换到Meteor 1.4.1(来自Meteor 1.4.0),但我认为这不相关。
有人可以帮我调查这个问题/提供一些可能的解决方案吗?
编辑:这是docker info
命令的日志。我有两个容器在运行,但部署似乎没有增加这个数字,我也不熟悉Docker。
Containers: 2
Running: 2
Paused: 0
Stopped: 0
Images: 4
Server Version: 1.12.0
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 20
Dirperm1 Supported: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge null host overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: apparmor
Kernel Version: 3.13.0-93-generic
Operating System: Ubuntu 14.04.4 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 992.5 MiB
Name: ip-XXX-XX-XX-XX
ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Insecure Registries:
127.0.0.0/8
编辑2:这个问题似乎与某种假阳性有关。部署是可以的,但根据docker日志,应用程序实际上会在启动时崩溃,从而回滚到上一版本。
答案 0 :(得分:0)
请检查配置文件中的应用程序路径。配置文件中的路径可能不同。
答案 1 :(得分:0)
好的,我发现了这个问题。我的settings.json
文件有语法错误(尾随逗号),因此应用程序实际上在启动时崩溃。
要获取此信息,我使用ssh连接到我的EC2实例。然后我使用docker ps
找到了容器ID,并使用docker logs MyContainerId
命令获取应用程序日志。
mup logs
实际上应该提供相同的信息,而不需要与实例的ssh连接,但是有一个关于它的开放问题,它不起作用。
日志告诉我Meteor.settings
未定义,我只是修复了它。
我在Github上打开了一个问题https://github.com/kadirahq/meteor-up/issues/242,因为我认为mup deploy
应该从一开始就告知我崩溃。