Hi, <div><br></div><div>what is about to combine second variant with <a href="http://www.yesodweb.com/book/deploying#desktop">http://www.yesodweb.com/book/deploying#desktop</a><br><br><div class="gmail_quote">2011/5/12 Nubis <span dir="ltr">&lt;<a href="mailto:nubis@woobiz.com.ar">nubis@woobiz.com.ar</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi guys,<br>After lots of effort, the yesod app I&#39;m working on is finally ready to be deployed in a production environment, but I&#39;m having a hard time deciding what&#39;s the best strategy to do so.<br>

I have proper development, staging and production environments. We&#39;ll be doing our coding on development, then tag a revision and push it to staging, and then if<br>
everything works fine we&#39;ll push that same tag to production. We&#39;re going to be using ubuntu 11.04 and all machines will be the same architecture too.<br>My main concern is that compiling in production may be inefficient and badly stress the server, so these are my deployment options so far, I would like to hear your opinions on them,<br>


and maybe you can also answer some of the questions that arise from them:<br><br>* Compile and statically link the app, then push it to staging, and if it works, to production: <br>    Would be great, but I&#39;m getting some warnings relating glibc and errors linking libgss which I could fix, but hint&#39;s that It&#39;s going to be painful to keep a statically linked version and suggest it&#39;s going to be brittle.<br>


<br>* Compile and move the binary and all the libraries it uses to the server:<br>   In theory it should work, but I&#39;m not sure which libraries or library directories I should move/rsync. I&#39;m also worried this way of doing it could be brittle since I could add dependencies that install stuff<br>


in different places and forget to add them which would mess up my deployment process a bit and require further manual intervention.<br><br>* Compile on the server: It&#39;s really convenient since I could copy the source to the server and do a cabal-install there, but I&#39;m afraid it will stress the server too much while compiling (granted, won&#39;t be often on production), but also keeping ghc and cabal on the server requires the extra work of keeping them up to date in an unobtrusive fashion. I tend to break my ghc install rather frequently, I wouldn&#39;t like to find myself logging in to production to fix a broken ghc/cabal/haskell platform install.<br>


<br>Thanks for your advice, also let me know if you think I&#39;m too much of a slacker, unlucky, or worrying too much about nothing.<br><br>cheers<br><font color="#888888">----nubis :)<br><br>
</font><br>_______________________________________________<br>
web-devel mailing list<br>
<a href="mailto:web-devel@haskell.org">web-devel@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/web-devel" target="_blank">http://www.haskell.org/mailman/listinfo/web-devel</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Best regards,<br>Cheshkov Anton <br>Phone: +7 909 005 18 82<br>Skype: cheshkov_anton<br>
</div>