Meteor-up:部署不会更新AWS EC2上的应用程序
我正在AWS EC2实例上托管Meteor应用程序。我成功设法使用Meteor-up部署我的应用两次(mup deploy
命令)。Meteor-up:部署不会更新AWS EC2上的应用程序
但一些修改后,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日志,部署是可以的,但应用程序实际上在启动时崩溃并因此回滚到最新版本。
好吧,我找到了问题。我的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
应该从一开始就告知我这个崩溃。
请检查配置文件中的应用程序路径。路径可能与配置文件中的路径不同。
你在说'mup.js'?我将'meteor.path'设置为'../',因为'mup.js'位于'myapp/.deploy /'文件夹中。当我运行'mup deploy'时,我在'.deploy'文件夹中,所以路径声音如此好:/无论如何,错误的路径会给出错误消息,不是吗? –
你能告诉我们你在你的mup配置中改变了什么吗? – gkrizek
嗨,我没有改变两个更新之间的配置文件。 由于mup和Meteor 1.4使用的默认码头图像的问题,我使用'dockerImage:'abernix/meteord:base'',是否会导致此问题? –
明白了。我并不是很熟悉在Docker容器中运行Meteor,但如果这是你改变的唯一的东西,我相信这是一个开始寻找的好地方。 – gkrizek