A Continuous Packaging Pipeline Maciej Pasternacki <maciej@pasternacki.net>3ofcoins                         @mpasternacki
Web infrastructure      problems– Nginx is too old– I need Node.js     }  Compiling on server                        is WR...
Debian Policy      Manualhttp://www.flickr.com/photos/seasonalplume/2519540603/
VendorificatorMetarake      Evoker        FPM                            Phase 3:Apt-get       Freight        Profit
http://www.flickr.com/photos/otherthink/5971235631/
Vendorificator                         u e               r dhttps://github.com/3ofcoins/vendorificator/             ve      ...
Vendorificator         Integrate upstream modules              in a Git repositoryarchive hello, :version => 2.8, :strip_ro...
Vendorificatorarchive hello, :version => 2.8, :strip_root => true,  :url => "http://ftp.gnu.org/gnu/hello/hello-2.8.tar.gz"...
ContinuousIntegration
Rake   https://github.com/jimweirich/rakehttp://www.flickr.com/photos/crowderb/287717759/
Metarake            A Rake extension that:1. Discovers modules and their build targets2. Builds modules with unpublished t...
Metarake                 It’s used to:1. Find */Rakefile and their *.deb targets2. Build packages not in the apt repo3. Pu...
EvokerAn add-on to Rake to download and manageexternal dependencies of a project, patch or  modify them as needed, cache t...
Evokertarball(swftools,        :url => http://www.swftools.org/swftools-0.9.1.tar.gz)patch swftools, swftools-Makefile_hac...
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
VendorificatorMetarake      Evoker        FPM                            Phase 3:Apt-get       Freight        Profit
https://github.com/…                      }… 3ofcoins/vendorificator… jimweirich/rake… 3ofcoins/metarake… 3ofcoins/evoker  ...
A Continuous Packaging Pipeline
Upcoming SlideShare
Loading in …5
×

A Continuous Packaging Pipeline

1,282 views

Published on

Description of a continuous integration pipeline for building Debian/Ubuntu packages. Ignite talk given on Devopsdays Europe 2012 in Rome.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,282
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
7
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

A Continuous Packaging Pipeline

  1. 1. A Continuous Packaging Pipeline Maciej Pasternacki <maciej@pasternacki.net>3ofcoins @mpasternacki
  2. 2. Web infrastructure problems– Nginx is too old– I need Node.js } Compiling on server is WRONG– I need foo.jar on all application servers – A Java VM would help using it…
  3. 3. Debian Policy Manualhttp://www.flickr.com/photos/seasonalplume/2519540603/
  4. 4. VendorificatorMetarake Evoker FPM Phase 3:Apt-get Freight Profit
  5. 5. http://www.flickr.com/photos/otherthink/5971235631/
  6. 6. Vendorificator u e r dhttps://github.com/3ofcoins/vendorificator/ ve o Vendor everything
  7. 7. Vendorificator Integrate upstream modules in a Git repositoryarchive 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
  8. 8. Vendorificatorarchive 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
  9. 9. ContinuousIntegration
  10. 10. Rake https://github.com/jimweirich/rakehttp://www.flickr.com/photos/crowderb/287717759/
  11. 11. Metarake A Rake extension that:1. Discovers modules and their build targets2. Builds modules with unpublished targets3. Publishes the built targets https://github.com/3ofcoins/metarake/
  12. 12. Metarake It’s used to:1. Find */Rakefile and their *.deb targets2. Build packages not in the apt repo3. Push built packages into the apt repo https://github.com/3ofcoins/metarake/
  13. 13. EvokerAn add-on to Rake to download and manageexternal dependencies of a project, patch or modify them as needed, cache them, etc. https://github.com/3ofcoins/evoker/
  14. 14. Evokertarball(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 https://github.com/3ofcoins/evoker/
  15. 15. FPM https://github.com/jordanissel/fpm/http://www.flickr.com/photos/dominicspics/1406305389/
  16. 16. Freight https://github.com/rcrowley/freight/http://www.flickr.com/photos/mattblaze/4336640682/
  17. 17. https://we.riseup.net/debian/install-anarchism
  18. 18. VendorificatorMetarake Evoker FPM Phase 3:Apt-get Freight Profit
  19. 19. https://github.com/… }… 3ofcoins/vendorificator… jimweirich/rake… 3ofcoins/metarake… 3ofcoins/evoker bit.ly/cont-pkg… jordanissel/fpm… rcrowley/freight Maciej Pasternacki <maciej@pasternacki.net>

×