[Haskell-cafe] Deploy Haskell application

Corentin Dupont corentin.dupont at gmail.com
Wed Jun 11 15:00:51 UTC 2014


In the .cabal file you can put a directive "data-files" and they will be
deployed in ~/.cabal/share...
I want to trigger only this.


On Wed, Jun 11, 2014 at 3:40 PM, Tom Nielsen <tanielsen at gmail.com> wrote:

> Not sure what you mean - cabal doesn't do any deployment, or at least I
> have not found a useful way of making it do so. In our case the deployment
> is done by running apt-get update && apt-get install on the server.
>
> Tom
>
>
>
>
> On Wed, Jun 11, 2014 at 3:18 PM, Corentin Dupont <
> corentin.dupont at gmail.com> wrote:
>
>> Thanks for your response!
>> Is there a way to ask Cabal to just deploy the resources and not compile
>> everything?
>>
>>
>>
>> On Wed, Jun 11, 2014 at 11:47 AM, Tom Nielsen <tanielsen at gmail.com>
>> wrote:
>>
>>> We package up the executables and other files into a Debain .deb package
>>> using fpm after running cabal. Here is an example Makefile which runs
>>> cabal, creates the debian package and adds it to our apt server:
>>>
>>> https://github.com/openbrainsrc/debcd/blob/master/Makefile
>>>
>>> This is run by our CI server after every commit to GitHub.
>>>
>>> Tom
>>>
>>>
>>> On Wed, Jun 11, 2014 at 11:33 AM, Vo Minh Thu <noteed at gmail.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> These days, an increasingly popular solution to package an application
>>>> with its dependencies is to use Docker. You can build the Docker image
>>>> locally and push it to a Docker registry and retrieve it on your
>>>> remote machine, or you can dump it as a tarball and load it on your
>>>> remote machine.
>>>>
>>>> You have different ways to create the Docker image, one of which would
>>>> be similar to pushing your Haskell binary to your remote machine. That
>>>> way is simply to compile your exectuable locally, and copy it to the
>>>> remote machine with is assets if any (you might even move it to a
>>>> .cabal directory as if it was installed through `cabal install`). By
>>>> default your executable will be statically linked, except for libgmp
>>>> that you have to install on the remote machine.
>>>>
>>>> I recommand you look into Docker. You will be able to e-use its
>>>> knowledge to package increasingly complex applications (that might
>>>> have more numerous dependencies that you wouldn't have to manage on
>>>> the host).
>>>>
>>>> HTH,
>>>> Thu
>>>>
>>>> 2014-06-11 12:24 GMT+02:00 Corentin Dupont <corentin.dupont at gmail.com>:
>>>> > Hi guys!
>>>> > Is there a procedure to deploy a Haskell application?
>>>> > I have an Amazon EC2 micro instance to run my application, but it's
>>>> way too
>>>> > small to compile it using cabal (compilation takes half a day
>>>> rouhgly), so I
>>>> > compile it on my computer.
>>>> > Is there a convenient way to bundle the executable with the resources
>>>> and
>>>> > ship it to the server?
>>>> >
>>>> > Thanks!
>>>> > Corentin
>>>> >
>>>> > _______________________________________________
>>>> > Haskell-Cafe mailing list
>>>> > Haskell-Cafe at haskell.org
>>>> > http://www.haskell.org/mailman/listinfo/haskell-cafe
>>>> >
>>>> _______________________________________________
>>>> Haskell-Cafe mailing list
>>>> Haskell-Cafe at haskell.org
>>>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20140611/6d2a9cdc/attachment.html>


More information about the Haskell-Cafe mailing list