May 19, 2015
A Continuous Packaging PipelineMaciej Pasternacki <[email protected]>
3ofcoins @mpasternacki
– Nginx is too old
– I need Node.js
– I need foo.jar on all application servers
– A Java VM would help using it…
}Compiling on serveris WRONG
Web infrastructure problems
Debian Policy Manual
http://www.flickr.com/photos/seasonalplume/2519540603/
Metarake
Apt-get
Evoker
Freight
Vendori!cator
FPMPhase 3:
Pro!t
http://www.flickr.com/photos/otherthink/5971235631/
overd
ueVendorificator
https://github.com/3ofcoins/vendorificator/
Vendor everything
Vendorificator
archive 'hello', :version => '2.8', :strip_root => true, :url => "http://ftp.gnu.org/gnu/hello/hello-2.8.tar.gz"git 'git://github.com/octocat/Hello-World.git'
Integrate upstream modules in a Git repository
Vendorificator
archive 'hello', :version => '2.8', :strip_root => true, :url => "http://ftp.gnu.org/gnu/hello/hello-2.8.tar.gz"git 'git://github.com/octocat/Hello-World.git'
Continuous Integration
Rake
http://www.flickr.com/photos/crowderb/287717759/
https://github.com/jimweirich/rake
Metarake
A Rake extension that:
1.Discovers modules and their build targets
2.Builds modules with unpublished targets
3.Publishes the built targets
https://github.com/3ofcoins/metarake/
Metarake
It’s used to:
1.Find */Rakefile and their *.deb targets
2.Build packages not in the apt repo
3.Push built packages into the apt repo
https://github.com/3ofcoins/metarake/
Evoker
https://github.com/3ofcoins/evoker/
An add-on to Rake to download and manage external dependencies of a project, patch or
modify them as needed, cache them, etc.
Evoker
https://github.com/3ofcoins/evoker/
tarball('swftools', :url => 'http://www.swftools.org/swftools-0.9.1.tar.gz')patch 'swftools', 'swftools-Makefile_hack.patch', '-p1' if linux?task 'swftools' => [ :python, 'swftools_pyconfig.py' ] do sh <<-EOF set -e -x cd swftools eval `../python/bin/python ../swftools_pyconfig.py` ./configure make EOFend
FPM
https://github.com/jordanissel/fpm/
http://www.flickr.com/photos/dominicspics/1406305389/
Freight
https://github.com/rcrowley/freight/
http://www.flickr.com/photos/mattblaze/4336640682/
https://we.riseup.net/debian/install-anarchism
Metarake
Apt-get
Evoker
Freight
Vendori!cator
FPMPhase 3:
Pro!t
https://github.com/…
…3ofcoins/vendorificator… jimweirich/rake…3ofcoins/metarake…3ofcoins/evoker… jordanissel/fpm… rcrowley/freight
Maciej Pasternacki <[email protected]>
}bit.ly/cont-pkg