GNU/Linux >> Znalost Linux >  >> Linux

Jak aplikujete vývojové postupy, jako je správa verzí, testování a průběžná integrace/nasazování, na správu systému?

Řešení 1:

Upozornění:Jsem jedním z vývojářů Puppet.

Zřejmým způsobem je pouze aplikovat koncepty:definovat cyklus vývoje/testování/výroby a prosazovat změny. Ke sledování systémů použijte správu verzí.

Stručně řečeno, začít touto cestou vede ke zjištění, že opravdu chcete nástroje, které tyto věci automatizují – v podstatě chcete automatizovat správu systémů, abyste tyto techniky nepoužívali na strojích, ale používali je na systému, který spravuje stroje.

Nástroje jako Chef, Puppet, Salt a CFEngine jsou všechny oblíbené nástroje pro řešení této druhé potřeby. Pracují v obecném směru přeměny správy systémů na centrální řešení, které můžete spravovat a testovat.

Hnutí DevOps je dalším zdrojem dobrých informací, jak na to. I když zásadou je lepší spolupráce mezi vývojáři a provozním personálem, ubírá se také stejným směrem.

Řešení 2:

Stručná odpověď je „Správa nasazení OS“, „Správa konfigurace“ a „Software Packaging“. Následuje dlouhá odpověď.

K odpovědi Daniela Pittmana bych rád přidal rozpis toho, co tvoří "systém" v administraci systémů.

Systém nebo prostředí se bude skládat z:

  • Servery
  • Operační systém
  • Konfigurace
  • balíčky dodavatele; a
  • Místní balíčky

Tyto budou obalovat procesy jako:

  • Nasazení nebo zobrazení operačního systému
  • Správa konfigurace
  • Správa softwarových balíčků
  • Audit/protokolování
  • Monitorování
  • Zálohy

A rádi byste je spojili, aby vám pomohli dosáhnout nefunkčních cílů, jako jsou:

  • Opakovatelnost
  • Udržovatelnost
  • Měřitelnost
  • Výkon
  • Sledovatelnost
  • Testovatelnost
  • Změnitelnost

Tohle je rychlé vyhození mozku. Jsem si jistý, že do všech seznamů by bylo možné přidat další.

Vaše otázka se dotýká několika z nich, aniž byste použili konkrétní slova. Například chcete být schopni snadno nasadit a vrátit se zpět, tj. chtít udržovatelnost; chcete to udělat v testovacím prostředí a testovat, dokud neprojde, tj. opakovatelnost, testovatelnost a měřitelnost; uvažujete o umístění obrazů vm do správy verzí, protože byste chtěli opakovatelnost nasazení OS a konfigurace.

Existuje spousta nástrojů, které vám s tím pomohou, některé z nich zmínil Daniel. Některé další jsou:

  • Kickstarts (založené na RedHat), Preseed (založené na Debianu), WDS (MS Windows) pro nasazení známých prostředí OS
  • Spacewalk/Satellite (založené na RedHat), zásady skupiny (MS Windows) pro konfiguraci a správu balíčků
  • Systémy balení YUM a APT pro generování, nasazování, upgradování a odstraňování balíčků (sady binárních souborů, dat a konfigurace obsahující část softwaru)
  • Nagios, OpenNMS a SCOM pro monitorování
  • Amanda, Bacula a Windows Backup Server pro zálohování
  • Munin, PCP a Hyperic pro sledování výkonu
  • CVS, SVN, GIT nebo Bazar pro správu verzí
  • Hudson a Jenkins pro správu sestavení
  • Selen a robot pro testování
  • Bugzilla, Request Tracker a Jira pro nahrávání, komunikaci a sledování

Opět, toto není úplný seznam, ale něco, co nosím v hlavě, aby mě to vedlo a doufejme, že to pomůže i vám.


Linux
  1. Průběžné testování integrace linuxového jádra

  2. Jak zkontrolovat verzi OS a Linuxu

  3. Jak zkontrolovat verzi jádra v Linuxu

  1. Co je kurátorství obsahu a jak byste to měli dělat?

  2. Jak na to:Replikace a konfigurace DRBD

  3. Nejlepší postupy penetračního testování, které potřebujete znát

  1. Jak připojit a odpojit souborový systém v Linuxu

  2. Jak vytvořit a dotazovat souborový systém BTRFS

  3. Jak vyrobit a aplikovat SVN patch?