Eric, Thanks for your reply (and thanks again to you, Martin, and Richard for writing "Erlang and OTP in Action." I have the original eBook version as well as the published one. The original is what got me started on the Erlware tools).
Unfortunately, I haven't been able to get sinan 1.x to run under Erlang R15; that's what initiated this whole process. (I had to upgrade to R15 to fix a bug in the public_key module, although I could also attempt a patch). So at this point I am somewhat committed to coming up with a deployment solution for the following version of our server. We're preparing to deploy the second version (1.1) of our server, but that one is still on R14B04, so our existing Erlware tools work fine. The following version, version 1.2, is the one that requires the public_key fix (apparently Macintosh self-signed SSL certs aren't handled correctly by the R14B04 public_key module). For some background, we have two eleven-machine clusters (not counting the firewall and load balancers), one for production and one for test. Of the eleven machines, two are Erlang servers (the others are tomcat servers, MongoDB servers, RabbitMQ servers, etc), each with a complement of several major Erlang components made up of several applications each. Deploying a new version involves pulling down two major packages from portius and installing them via faxien. One package consists of four applications and the other has approximately 20 applications. So the deployment and installation is somewhat complex. To date, we have used the Erlware tools quite successfully and I am reluctant to move in another direction unless forced. Sinan 2.x produces a directory structure that doesn't seem compatible with faxien. Under sinan 1.x, the structure was "_build/development/apps" while under sinan 2.x, it is "_build/<NAME>/lib". I tried to point "faxien publish" at the subdirectories under "lib", but got a function_clause error from ewr_repo_paths, possibly caused by a mismatch between the erts version and the compiler version. I'll continue to look at this. The tar file produced by "sinan dist" appears to contain everything I need to deploy, but I'm not sure how to do it. I'm thinking of storing it in MongoDB and creating an escript to retrieve it, unpack it, and distribute it to the Erlang lib and release directories to simulate what the current faxien/portius combination does. I would love to use the platform tools; unfortunately, although we develop on Ubuntu and could use the Debian packages there, the production servers are Gentoo (our IT department loves it for some reason). Stan On Wed, Mar 14, 2012 at 9:06 AM, Eric Merritt <[email protected]> wrote: > On Tue, Mar 13, 2012 at 3:58 PM, Stan McQueen <[email protected]> wrote: >> That works; thanks very much. Now my problem is as follows: >> >> We're currently building with sinan, publishing to a portius repo with >> faxien, and finally using faxien to install new releases on our test >> and production servers. The new sinan doesn't seem to produce a >> configuration that faxien understands. Previously, i could build a >> release that contained a number of sub-projects, then "faxien publish" >> would publish the appropriate combination of libs and releases to >> portius. This process has been working very well for the 1.0 release >> of our new servers. >> >> Is there an erlware replacement for this build-publish-deploy process? > > At the moment, no unfortunately. We are talking about a new and very > interesting replacement for faxien/sinan. I suspect strongly that that > will actually happen in the next few months. But it doesn't exist yet. > There is a further misfortune that it doesn't exist currently in the > larger erlang community either. > > There are three routes I think for you though none super wonderful > > 1) Continue to use faxien/sinan 1.0.0 series > 2) Migrate to native packages for your platform > 3) Wait for the new replacement > > I think 1 is probably not viable in the long term, as that > faxien/sinan series bitrots. > > 2 actually works well though there is a lot of upfront work. If you go > this route all of the usual build and deployment tools work. The > downside is you have to learn packages and setup a native repo etc. > However, this is the approach I took for the startup i am building. > > 3 would work as well, there is always a danger in waiting for > something that doesn't exist but I am becoming more and more confident > that we will build it. In this case you could continue down your > present path with faxien/sinan until the replacement happens. > > There is an implicit 4th option that is rolling your own. I recommend > against this. If you want to go that route its probably better to > participate in 3 with us. > > If you want to go the second route and are using debian I can help you > there. I have a lot of recent experiance packaging OTP Apps for > debian. > > (not what you may have wanted to hear I know) > > -- > You received this message because you are subscribed to the Google Groups > "erlware-dev" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/erlware-dev?hl=en. > -- You received this message because you are subscribed to the Google Groups "erlware-dev" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/erlware-dev?hl=en.
