jam - glue between pinto and scm

Pinto is great and helps create custom repositories of cpan packages, tune dependencies and get vital information about your distributions. One thing I lack is to propagate changes in source control as new distributions in pinto stacks and also new distributions for production servers. So this why I have created tool named "jam". Now it's in prototype stage, but it give a sense the way of automation.

One have list of code sources with changes get pulled from scm triggering new distributions holding changes and new distribution of application, dependent on those new ones. This processes get automated by jam. All you need - install pinto and jam, checkout sources and set configuration file:


git clone https://github.com/melezhik/jam.git
cd jam && bundle install
mkdir my-app/
svn co  http://you-svn-repo/apps/app/trunk my-app/sources/app
svn co  http://you-svn-repo/apps/lib-one my-app/sources/lib-one
svn co  http://you-svn-repo/apps/lib-two my-app/sources/lib-two
pinto new my-app-pinto-stack

cat my-app/jam.sjon
{
    "stack" : "my-app-pinto-stack",
    "application": "sources/app",
    "sources": [
        "sources/app",
        "sources/lib-one",
        "sources/lib-two",
    ]
}
When setup is done you may build you application:
export PINTO_EDITOR=cat
export PINTO_REPOSITORY_ROOT=/home/pinto/repo/
./jam.rb -p ./my-app

Check out more detailed information on https://github.com/melezhik/jam

4 Comments

As I recall, "jam" was the name miyagawa was thinking about using for a CPAN tool. I don't know if he abandoned that.

Perforce Jam is an open-source build system...

Leave a comment

About melezhik

user-pic perl, chef, jenkins, configuration management, continues intergration