Open petelacey opened 4 years ago
Thanks for the thoughtful feedback! This is the kind of stuff that really helps us improve the product so I really appreciate you spending the time to write this up!
Can I ask how you generated your elixir project? Usually, I use mix phx.new
which generates the following .gitignore file.
https://github.com/phoenixframework/phoenix/blob/master/installer/templates/phx_single/gitignore
Thanks for the details about the npm issue. I had a few customers run into that one. For them, they said upgrading npm to 6.13.7 seemed to fix the issue. Perhaps you can still use the latest version of node if you upgrade npm also.
Typo fixed! Thanks again.
When you use Github's UI to generate a repo, it asks if you want a .gitignore file tailored to a chosen programming language. When you select Elixir, it generates this: https://github.com/petelacey/sample-elixir-project/blob/master/.gitignore. In my case, I too started with the .gitignore generated by mix phx.new
, but then I supplemented it with the entries that were only in the Github version. Admittedly, not a lot of people would do this. Still, it's not hard to imagine others git-ignoring their secrets file.
Ah I see. Hm, I wonder what the right solution to this is. Perhaps, phoenix should move it's prod.secret.exs back into prod.exs since it doesn't actually contain any secrets anymore. https://github.com/phoenixframework/phoenix/blob/master/installer/templates/phx_single/config/prod.secret.exs
First, awesome product! I hope to graduate out of the free tier in the next two months.
In the meantime, I just worked through my first deploy and hit a couple of snags that you may want to know about and maybe document.
One, the default
.gitignore
file that Github generates for a new Elixir project includes*.secret.exs
. If someone (like me) is not paying attention, they may fail to actually commit the needed changes toprod.secret.exs
. This causes the deploy to fail withremote: ** (Code.LoadError) could not load /tmp/build/config/prod.secret.exs
.Two, the latest version of node.js includes a buggy version of npm. I originally specified
node_version=13.8.0
in myphoenix_static_buildpack.config
file. I needed to downgrade tonode_version=13.3.0
to get things to work. Without the downgrade, the error wasremote: npm ERR! invalid bin entry for package @babel/parser@7.6.0. key=parser, value=bin/babel-parser.js
. This is the npm issue.Finally, there's a minor typo in the database migrations section where you have: "If you are using not using releases..."
Thanks again for the awesome product and documentation!