basist

Een kleine bibliotheek voor interactie met vagrant dozen met behulp van stof
Download nu

basist Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Other/Proprietary Li...
  • Prijs:
  • FREE
  • Naam uitgever:
  • David Hughes
  • Uitgever website:
  • https://github.com/davehughes/

basist Tags


basist Beschrijving

Basist is een kleine Python-bibliotheek voor het bouwen en interactie met vagrante dozen met stof. De doelen zijn enigszins vergelijkbaar met het Veewee-project, maar is specifiek gericht op het ontwikkelen en testen en testen van textielimplementaties.A Eenvoudig voorbeeld: de @BaseBox DecoratorFrom Stof.API import Sudofrom Basebox.Build Import Basisbox @ BASEBOX (NAME = 'SAMPLE', BASE = 'http://files.vagrantup.com/precise64.box')Def build_sample_box (* pakketten): voor pakket in pakketten: sudo (' Apt-Get Install -y% s '% pakket) Dit voorbeeld voert de volgende acties uit: - Construeert een tijdelijke vagrant doos op basis van basisbrengt de doos omhoog, maakt erop aan, en voert de inhoud van build_sample_box () - stopt, pakketten en installeert de doos als voorbeeld - reinigt na zichzelf> Fab Build_Sample_Box: NGGINX, PostgreSME_Box , Rabbitmq-serverInstalls een voorbeelddoos met de opgegeven pakketten vooraf geïnstalleerd. De parameters naar de BASEBOX kunnen worden opgeheven in de oproep naar de functie die het decoreert, dus de volgende opdrachten zullen resulteren in een identiek vakje dat als 'basis' wordt geïnstalleerd:> Vagrant Box toevoegen Precise64 http: //files.vagrantu p.com/precise64.box> Fab Build_Sample_Box: NGGINX, PostgreSQL, Rabbitmq-server, naam = basis, basis = Precise64Finer gekweekte bediening met de Tempbox Context ManagerWhile Pasbox Instantiates, laarzen en verbinding met zijn doos om zijn context te sluiten, soms is ongewenst. De TempBox Context Manager maakt alleen maar een zwervende context met een minimalistisch vagrantfile en reinigt de context bij het verlaten. Alle acties op de vagrant doos, zoals opstarten, verbinden en verpakken, moeten gebeuren via het opgeleverde VagrantContext-object ('Box' in het volgende voorbeeld) .Import OsFrom-stof.API import sudofrom basebox.build import tempboxFrom Cuisine Import Mode_Localdef Build_Sample_Box ( Packages = [], naam = 'Sample', Base = 'http: //files.vagrantup.com/precise64.box'): met TempBox (basebox = basis) als vak: box.up () met box.connect ( ): Voor pakket in pakketten: SUDO ('Apt-Get Install -y% S'% Pakket) Box.Halt () Box.Package (Install_as = Name) met Mode_Local (): Build_Sample_Box (Packages = ) Deze code is meer uitgebreider, maar het doet in wezen hetzelfde als het @BaseBox-voorbeeld, en maakt meer controle over de levenscyclus van de box. Bij gebruik in combinatie met de methoden voor het interactie met de onderliggende virtualbox, kan dit meer geavanceerde build-functionaliteit mogelijk maken. Deze steekproefpakketten een doos met een alternatieve NIC (een stap die ik heb gebruikt wanneer de standaard NIC het netwerk betrouwbaarheid en snelheidskwesties veroorzaakte): van BASEBOX.Build Import TempboxFrom Cuisine Import Mode_Localdef Pakket_With_Alnate_nic (NIC, Package_out): Met Tempbox () als Box: # Power-cycle the box om ervoor te zorgen dat het geïnstantiaerde box.up () box.halt () # uitvoeren 'vboxmanage modifyvm' om de instellingen van het vakje te updaten.modify (NICTYPE1 = NIC) # pakket gemodificeerde doos box.package ( Output = Package_out) met Mode_Local (): Pakket_With_Alnate_nic ('Virtio', 'Virtio.box') Homepage


basist Gerelateerde software