Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not support Meteor 1.3.x #23

Open
kgao opened this issue Jun 20, 2016 · 27 comments
Open

Not support Meteor 1.3.x #23

kgao opened this issue Jun 20, 2016 · 27 comments

Comments

@kgao
Copy link
Contributor

kgao commented Jun 20, 2016

Hey @christopheranderson,

I just found the tool didn't work well with Meteor 1.3.x, it was stuck at azure-demeteorizer install step.
Could be node-nyp.

Current work around is converting the app from 1.3 to 1.2 to make it work.

@christopheranderson
Copy link
Owner

Yep. My current plan is to wait until Meteor 1.4 comes out and supports Node LTS v4. That will provide a much smoother experience for deploying to Azure Web Apps. Until then, most of these issues aren't simple to resolve. Once 1.4 is out, we should also be able to support CI/CD.

@ramijarrar
Copy link

ramijarrar commented Jun 21, 2016

@christopheranderson When you resume work on this, do you think it will be possible to support the 1.3.x line as well? As of v1.3.4 Meteor uses npm 3 which should resolve the long filename issues and VS2015 compatibility appears to have been fixed in Node v0.10.41 (we are now on 0.10.45)

@ramijarrar
Copy link

ramijarrar commented Jun 21, 2016

In all cases, probably not worth experimenting until we have a 1.4 release (so as to avoid wasting any time) but just something to keep in mind when you do. Also, to prevent more issues like these popping up I think it makes sense to continue discussion in this thread. I will close #9 as it has already been addressed for 1.2.x apps and the comments can be hard to follow.

@christopheranderson
Copy link
Owner

Big blocker is Node v4 support (or rather > 0.10 support). Node 0.10.x doesn't support VC++15 redistributable for node-gyp. This means that I can't install packages auto-magically on App Service, since VC++15 is the only VC++ supported on App Service. If that becomes retroactively possible for 1.3/1.2, I can make it work.

@ramijarrar
Copy link

ramijarrar commented Jun 23, 2016

Have you had a look at the change-log for 0.10.41 here? It looks like they updated Gyp for VS2015 support (from nodejs/node-v0.x-archive#25857).

@christopheranderson
Copy link
Owner

Oh nice. Maybe I just need to roll the Node version then. I don't have a lot of time lately to look into this, unfortunately. If you or someone else wanted to try to get VC++15 working with the tool as it exists right now and confirm that that works, I could probably get a faster start when I find time.

@ramijarrar
Copy link

ramijarrar commented Jun 23, 2016

We have a beta release for 1.4 now, so I think that is the first priority. Once we can have Meteor installed on App service, it will be much easier to experiment with different versions.

@christopheranderson
Copy link
Owner

It's happening: https://twitter.com/benjamn/status/746395909286666240

I'll probably look at this end of month unless some things free up before then.

@kgao
Copy link
Contributor Author

kgao commented Jun 26, 2016

Thanks guys!

@kdenz
Copy link

kdenz commented Jul 11, 2016

@christopheranderson Any updates? : ) I'll deploy my upcoming app to azure if it'll support 1.4 in time, thanks!

@ramijarrar
Copy link

ramijarrar commented Jul 26, 2016

Meteor 1.4 has now been officially released.

@christopheranderson can you post any ETA for this?

@christopheranderson
Copy link
Owner

Sweet. I hope to have some time to look at this in the near future. I'm hoping to approach the problem fresh and minimize the need for a local CLI command - relying instead on a command that runs on Azure Web Apps. My main priority is Azure Functions right now, since I'm the PM who owns runtime/devexp.

@kdenz
Copy link

kdenz commented Aug 2, 2016

@christopheranderson wow, any revealing of approximately when functions will reach GA? I'm seeking to achieve serverless with my next project, looking at lambda and functions now. Sadly only lambda is at GA.

@christopheranderson
Copy link
Owner

We're pretty open (all our feature planning is still open), but unfortunately I've relented and we're keeping GA a surprise for now. :) If you've got a scenario you need support for, just email me at the email I have on GitHub. We're already supporting some folks in production - just no business availability SLA yet.

@ramijarrar
Copy link

Okay - I think now that Meteor uses npm 3 I should be able to get this working myself with a custom deployment script (was mostly there in the past, but path length issues have been a major blocker). I'll post back here if I am successful.

@christopheranderson
Copy link
Owner

If you or anyone can get something working, I can work to get it added as a first class experience in Azure. Looking forward to your findings.

@ramijarrar
Copy link

ramijarrar commented Aug 2, 2016

From past experience the main difficulty was getting the Meteor tool installed, the regular installer won't work (since it is GUI based) so we need to use the alternate installation steps which will exceed quotas for Free/Shared users. I'll probably publish the full scripts with some instructions late this week/early next week for those interested & that should also allow us to see more clearly where first-class support can fill pain points in the experience.

@DanceParty
Copy link

@ramijarrar did you get 1.4 on Azure working?

@ramijarrar
Copy link

ramijarrar commented Aug 17, 2016

@jkd65 Just finished a sprint and definitely looking to spend some time on this over the next few days (as we deploy new code)

@ramijarrar
Copy link

Success! Git-based deployments working with Meteor 1.4 using a custom deployment script.

I made a repo here with some basic instructions. Should be easy enough to set up - though I have only tested with Standard/Basic tier apps and aware of potential quota limitations on Free/Shared.

Also, first build will be quite slow while it installs Meteor but should be much faster after that (around 5-10 minutes with a fairly large app).

@christopheranderson
Copy link
Owner

SWEEET! That looks like exactly what I was hoping it'd be. No demeteorize at all, which was a hacky solution. Let me send this to our deployment gurus. The simple answer is to just point to that script for all Meteor stuff, but I think I'd prefer us to detect Meteor and run it automatically.

@ramijarrar
Copy link

ramijarrar commented Aug 23, 2016

BTW I noticed a couple issues relating to entry points (should not affect actual deployment but produce errors), going to push out a fix today. And see if I can do some testing on a free tier app.

@christopheranderson
Copy link
Owner

I'm getting this error pretty consistently:

Command: bash .config/azure/deploy.sh
npm WARN eslint-config-airbnb-base@3.0.1 requires a peer of eslint@^2.9.0 but none was installed.
npm WARN eslint-config-airbnb-base@3.0.1 requires a peer of eslint-plugin-import@^1.7.0 but none was installed.
npm WARN eslint-import-resolver-node@0.2.1 requires a peer of eslint-plugin-import@>=1.4.0 but none was installed.
npm WARN repository No repository field.
npm WARN repository No license field.

D:\local\LocalAppData\.meteor\packages\meteor-tool\1.3.4_4\mt-os.windows.x86_32\dev_bundle\lib\node_modules\meteor-promise\promise_server.js:165
      throw error;
            ^
Error: EINVAL, link 'D:\local\Temp\.tmpnz4vnu\juliancwirko_postcss-1.1.1\plugin.minifier-postcss.os\npm\node_modules\meteor\babel-compiler\node_modules\babel-plugin-transform-es2015-modules-commonjs\node_modules\babel-template\node_modules\babel-traverse\node_modules\invariant\node_modules\loose-envify\cli.js'
Handling node.js deployment.
KuduSync.NET from: 'D:\local\Temp\8d3cbc9938fbc92\bundle' to: 'D:\home\site\wwwroot'
Error: The directory name is invalid.
An error has occurred during web site deployment.

Kudu Sync failed
npm WARN eslint-config-airbnb-base@3.0.1 requires a peer of eslint@^2.9.0 but none was installed.\r\nnpm WARN eslint-config-airbnb-base@3.0.1 requires a peer of eslint-plugin-import@^1.7.0 but none was installed.\r\nnpm WARN eslint-import-resolver-node@0.2.1 requires a peer of eslint-plugin-import@>=1.4.0 but none was installed.\r\nnpm WARN repository No repository field.\r\nnpm WARN repository No license field.\r\n\r\nD:\local\LocalAppData\.meteor\packages\meteor-tool\1.3.4_4\mt-os.windows.x86_32\dev_bundle\lib\node_modules\meteor-promise\promise_server.js:165\r\n      throw error;\r\n            ^\r\nError: EINVAL, link 'D:\local\Temp\.tmpnz4vnu\juliancwirko_postcss-1.1.1\plugin.minifier-postcss.os\npm\node_modules\meteor\babel-compiler\node_modules\babel-plugin-transform-es2015-modules-commonjs\node_modules\babel-template\node_modules\babel-traverse\node_modules\invariant\node_modules\loose-envify\cli.js'\r\nError: The directory name is invalid.\r\nD:\Program Files (x86)\SiteExtensions\Kudu\57.50815.2378\bin\Scripts\starter.cmd bash .config/azure/deploy.sh

@ramijarrar
Copy link

ramijarrar commented Aug 24, 2016

I just updated the repo with a few fixes, can you try that now? (just paste in the new deploy.sh and commit)

@christopheranderson
Copy link
Owner

I should probably file my issues on your rep, huh? :P trying now

@ramijarrar
Copy link

Just pushed some changes to our app through Git and can confirm code updates are working reliably with Kudu Sync 😄

@ramijarrar
Copy link

@christopheranderson Did you get a chance to file an issue? We've been monitoring reliability over the last few weeks & the script is now in-use for production builds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants