通过MUP进行流星部署

时间:2017-04-22 19:10:23

标签: meteor deployment mup

我正在尝试通过MUP部署我的应用,一切正常,除非我运行命令mup deploy。在浏览器网站加载但它没有显示我所做的最新更改。构建文件包含了我所做的所有更改。我正在使用Amazon EC2作为服务器。

编辑:

在MUP日志中,它显示服务器已在端口80上启动。我还检查了构建文件,它有最新的代码,但不知何故服务器没有在浏览器中呈现。我不确定它的MUP或meteor build或amazon EC2服务器的问题。 enter image description here

1 个答案:

答案 0 :(得分:0)

由于我有完全相同的问题,我可以澄清这个问题。

我在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,run" mup setup"和" mup deploy"再次使用完全相同的结果,旧版本正在运行。所以这个问题似乎与mup的流星构建部分有关。

编辑2 :: 我发现了至少一个问题。我将buildLocation设置为相对路径。在某些时候,Mup会更改当前目录,从而导致使用buildLocation的多个副本。在我的例子中,Meteor构建命令(新文件)的输出在一个,Mup从另一个恰好包含旧文件的服务器部署到服务器。我将buildLocation更改为绝对路径,并且正在部署新版本。是啊!但是等等,即使Mup说验证工作正常,我的应用程序永远不会运行,容器会不断重启。查看日志我怀疑问题出在下面这一行。不知何故,路径中有反斜杠。我不知道这是从哪里来的。

  

[192.241.229.15] npm ERR! enoent ENOENT:没有这样的文件或目录,   CHMOD   ' /束/束/方案/服务器/ NPM / node_modules / sshpk / BIN \ sshpk-CONV'

解决方案:: 感谢Parth Mahida我受到了启发,删除了服务器上的/ opt / MyApp目录,并在我的构建计算机上删除并重新安装了sshpk NPM软件包,然后重新启动了Mup设置和Mup部署,一切都恢复了。不知道sshpk软件包是如何变得腐败的,但此时我并不在意。