On Wed, Dec 12, 2012 at 4:09 PM, Jonathon McKitrick
<jmckitr...@gmail.com> wrote:
> So basically, I need to get used to editing in emacs, uploading to heroku,
> and (perhaps) interactively testing via a remote repl, correct?  Sorry to
> belabor the point, but I'm trying to flatten the learning curve.

That's a good question. I can tell you what the common practice is,
and I can tell you what I recommend.

Personally I recommend keeping as close to dev/prod parity as
possible. (http://www.12factor.net/dev-prod-parity) This means if
you're deploying to Linux, you should do development on Linux. At my
last job all the mac users ran Linux VMs with Vagrant
(http://vagrantup.com/) to ensure there weren't any hidden surprises
during deployment. You can even keep your editor on the host
environment and run Leiningen inside the VM to test against it and set
up port forwarding so you can use the browser on your host as well.

It's also wise to make sure all your outside-the-JVM dependencies are
the same versions: same OpenJDK; same Postgres, same Redis, etc. Doing
all your actual development on Heroku would be taking this to its
logical conclusion, but it's currently not quite practical. (This may
change in the future.) Even if you aren't constantly deploying and
checking how it runs remotely, you should probably have some sort of
minimal integration tests that do run on the deployed platform before
you promote major changes from staging to production.

Most people just try to get the versions and environments to vaguely
align, and depending on the complexity of the project you can
sometimes get away with this. But for larger projects it will
eventually bite you in ways that are usually difficult to debug.

> So anything that's a heroku add-on will translate to a lein profile entry, 
> correct?

No, add-ons and profiles don't really have anything to do with each other.

-Phil

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to