Archiv:Devops Meetup: Unterschied zwischen den Versionen

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Zur Navigation springenZur Suche springen
Zeile 11: Zeile 11:
 
== Next meetup ==
 
== Next meetup ==
  
Tue., '''2012-05-29, 19:00''', [[Lage|Metalab]] Main room
+
Tue., '''2012-06-19, 19:00''', [[Lage|Metalab]] Library
  
 
=== Agenda ===
 
=== Agenda ===
  
* Continuous Integration Packaging with FPM -- [[User:japhy|japhy]]
+
* TBA
 
 
== Upcoming ==
 
 
 
Tue., '''2012-06-19, 19:00''', [[Lage|Metalab]] Library
 
 
 
 
== Presentation/topic propositions for future ==
 
== Presentation/topic propositions for future ==
  
Zeile 91: Zeile 86:
  
 
== History ==
 
== History ==
 +
 +
=== 2012-05-29 ===
 +
 +
* Continuous Integration Packaging with FPM -- [[User:japhy|japhy]]
 +
 +
** Code snippets with comments for the build system: https://gist.github.com/2823575
 +
** Vagrant, a convenient command-line tool for running VirtualBox virtual machines (VMs): http://vagrantup.com/
 +
** FPM (Effing Package Management), the main actor: https://github.com/jordansissel/fpm/
 +
** Buildbot, the continuous integration server: http://trac.buildbot.net/ (alternative for open source, Travis CI: http://travis-ci.org/)
 +
** Articles about setting up Buildbot by Jacob Kaplan-Moss, creator of Django:
 +
*** Part 1, http://jacobian.org/writing/buildbot/ci-is-hard/
 +
*** Part 2, http://jacobian.org/writing/buildbot/configuration-and-architecture/
 +
** Runit, a sane reimplementation of Dan J. Bernstein's daemontools under BSD-like license. A tool for managing long-running services (I'd say "daemons", but they don't daemonize – they are managed by runit when running in the foreground): http://smarden.org/runit/
 +
** LXC - Linux Containers, a lightweight userspace virtualization for Linux (may be used for real clean builds or for testing the packages): http://lxc.sourceforge.net/
 +
** The Debian Policy Manual: http://www.debian.org/doc/debian-policy/index.html#contents
 +
 +
FPM is a command-line tool that converts between different package formats (from: local directory, ruby gem, php pear, python module, node.js npm package, deb, rpm; to: local directory, deb, rpm, solaris, tar). The "local directory" pseudo-format allows for easy creation of quick-and-dirty packages that Just Work, short-circuiting all the layers from the Debian Policy Manual all the way up to dh_make with one quick script call. FPM doesn't care about actually building your stuff (as in: unpacking, configuring, compiling, etc). It just takes directory you put it into, and turns it into a package. To prepare the compiled files and put them in the right place first is your job. So is specifying the dependencies - there are no automatic dependencies on dynamically linked libraries.
 +
 +
Workflow for the continuous integration using bits & pieces from the gist:
 +
** On developer's workstation, "vagrant up" command brings up new VirtualBox VM with clean Debian and sets up a clone of the "packages" repository with a local branch
 +
** "vagrant ssh" to the VM, go to the packages repo, prepare or modify new package, test it
 +
** "git push" from the VM to the "develop" branch on the host server
 +
** "git pull . develop" on the host server's master branch to merge
 +
** "git push" to central git repo
 +
** buildbot (continuous integration server) picks up the commit
 +
** buildbot builds changed package and adds it to the apt repo
 +
** new package is available to clients via apt-get within minutes from the push.
  
 
=== 2012-02-21 ===
 
=== 2012-02-21 ===

Version vom 29. Mai 2012, 23:33 Uhr

WTF

A regular meetup of people interested in DevOps.

DevOps is kind of a new sysadmin buzzword for ways to close the gap between software development and operations; it's what happens when agile development spreads to the server room. We meet to discuss culture, processes, tools and trends that contribute to this field.

DevOps — slides from introductory lightning talk at Metaday #36

There is a mailing list for announcements and discussions, and an experimental meetup.com page.

Next meetup

Tue., 2012-06-19, 19:00, Metalab Library

Agenda

  • TBA

Presentation/topic propositions for future

If you have something to present, discuss, show, or ask around about, but don't want to commit to a date yet – here's the place to do it. If you want to hear about something specific, add it here too - maybe there's someone here who can tell about it.

  1. A comparative analysis of Linux HA Solutions by Bernhard Miklautz
  2. Monitoring with Icinga (or other Stuff That Is Not Nagios)

People

A list of all users for quick reference

  • ... you? :>

Links

Tools

  • Automated installation & configuration
    • Opscode Chef Ruby-based automated system configuration
    • Puppet Another Ruby-based automated system configuration
    • Fai Fully Automated Installer
    • Cobbler Rapid deployment system, script/pluggable infrastructure, python-based
    • The Foreman Provisioning and external Node classification for Puppet
  • Cloud
  • Deployment and control
    • Capistrano Remote multi-server automation tool (deployment)
    • MCollective Framework to build server orchestration or parallel job execution systems
    • Vertebra [1] Another job execution system, XMPP-based
    • ControlTier cross-platform build and deployment automation framework (job automation / infrastructure orchestration)
  • Continuous Integration & Testing
    • Hudson Continuous Integration server
    • Buildbot Another Continuous Integration server
    • Selenium Web application testing system
    • Cucumber Behaviour Driven Development testing tool
  • Documenting infrastructure
    • OCS-ng Inventory system + GLPI Asset Management
    • Ohai Detecting information (facts) about system
    • Facter Detecting information (facts) about system
    • puppet + facter + puppet-dashboard
    • SICE Kit A set of tools and templates designed for MediaWiki to aid people who maintain systems and infrastructure
  • Interpreter "sandboxes"
  • Misc
    • Grml Debian-based live CD
    • Mongrel2, a language-agnostic Web server
    • Augeas, a parsing config file editor
    • IT Cockpit, a user-friendly UI for configuring Nagios

History

2012-05-29

  • Continuous Integration Packaging with FPM -- japhy

FPM is a command-line tool that converts between different package formats (from: local directory, ruby gem, php pear, python module, node.js npm package, deb, rpm; to: local directory, deb, rpm, solaris, tar). The "local directory" pseudo-format allows for easy creation of quick-and-dirty packages that Just Work, short-circuiting all the layers from the Debian Policy Manual all the way up to dh_make with one quick script call. FPM doesn't care about actually building your stuff (as in: unpacking, configuring, compiling, etc). It just takes directory you put it into, and turns it into a package. To prepare the compiled files and put them in the right place first is your job. So is specifying the dependencies - there are no automatic dependencies on dynamically linked libraries.

Workflow for the continuous integration using bits & pieces from the gist:

    • On developer's workstation, "vagrant up" command brings up new VirtualBox VM with clean Debian and sets up a clone of the "packages" repository with a local branch
    • "vagrant ssh" to the VM, go to the packages repo, prepare or modify new package, test it
    • "git push" from the VM to the "develop" branch on the host server
    • "git pull . develop" on the host server's master branch to merge
    • "git push" to central git repo
    • buildbot (continuous integration server) picks up the commit
    • buildbot builds changed package and adds it to the apt repo
    • new package is available to clients via apt-get within minutes from the push.

2012-02-21

2011-12-14

  • ?

2011-11-22

  1. Velocity EU recap by Michael

2011-10-24

  1. Tier1 Hardware (Dell, HP, IBM) show & tell Michael
    • We're going to look at a Dell R200, HP DL380G5 as well as a IBM x3650 M3 and see how they fare in regards of hardware maintenance, configuration, out of band management and general pain points.
  2. What hardware should I get anyways? General thoughts on performance evaluation, capacity planning, daily operations and other pitfalls.

2011-09-27

  1. git-flow, a successful branching model – japhy
  2. Bullshit Bingo: Cloud strategies (how to make cloud work for you) - japhy
  3. Monitoring systems, capacity planning, trending, etc. discussion

2011-06-14

  1. NexentaCore 3 ZFS Presentation & Workshop - David Gabriel

clickme: Presentation

2011-05-17

  1. What's new in Perl 5.14? (Daxim)
  2. Opscode-hosted Chef stuff demo: cookbook repository, platform, … (japhy)

2011-04-19

  1. Kanban in operations by Tony (Datei:Kanban and Devops.pdf)
  2. 5 Years Metalab discussion

2011-03-15

  1. Cloud - is it good for anything? (japhy) slides

2011-02-15

  1. Time management - basic ideas – japhy (based on the Time Management for System Administrators book)
  2. The Foreman - cyberkov, Provisioning and external Node classification for Puppet (Presentation from FOSDEM)

2011-01-11

  1. Mongrel2 introduction by Lukas Fittl
  2. Grml fly-by by Christian Hofstädtler (slides)
  3. Plat_forms - The web development platform comparison

2010-12-14

  • A 10 minute PostgreSQL crash course including Q&A for operations-relevant Stuff - Michael
  • A hopefully short and functional live presentation of my company's infrastructure User:b2c
    • Overview: puppet+dashboard, vmware, storage
    • live server deployment
    • automated tests
  • Free talk, show&tell, …

2010-11-23 Bootstrap meeting