Meteor-up:部署不会更新AWS EC2上的应用程序

时间:2016-08-20 15:12:18

标签: amazon-web-services meteor deployment amazon-ec2 meteor-up

我正在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日志,应用程序实际上会在启动时崩溃,从而回滚到上一版本。

2 个答案:

答案 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应该从一开始就告知我崩溃。