Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
DevOps je metodologie vývoje softwaru, která integruje vývoj softwaru (Dev) se systémovými operacemi (Ops). Systém vám pomůže dodávat nové softwarové funkce, aktualizace a opravy, které odpovídají obchodním cílům.
Metodologie DevOps zahrnuje také:
- Navrhování nových funkcí na základě cílů, vzorů využití a zpětné vazby zákazníků
- Oprava, obnovení a posílení systému při výskytu problémů.
Jednou z komponent metodologie DevOps je kanál kontinuální integrace (CI) a průběžného doručování (CD). Kanál CI/CD přesouvá informace, kód a prostředky z potvrzení správy zdrojového kódu prostřednictvím řady kroků pro vytvoření systému. Mezi kroky patří sestavení, testování a vydání.
Azure DevTest Labs můžete použít v kanálech CI/CD. Tento článek popisuje použití devTest Labs v kanálech sestavení, testování a vydávání verzí CI/CD v podnikovém prostředí.
Výhody používání DevTest Labs v pracovních postupech DevOps
Laboratoř by měl používat jenom tým, který pracuje na určité funkci. Tento fokus umožňuje rychlejší změny, ale omezuje negativní účinky na menší skupinu. V testovacím prostředí dochází ke změnám nebo problémům, aniž by to mělo vliv na cokoli jiného.
Toto zaměření také umožňuje sdílení prostředků specifických pro oblast, jako jsou nástroje, skripty a šablony Azure Resource Manageru (ARM). Vývojáři můžou pomocí sdílených prostředků vytvářet virtuální počítače se všemi potřebnými kódy, nástroji a konfigurací. Šablony ARM vytvářejí testovací virtuální počítače a testovací prostředí s příslušnými prostředky Azure. Šablony vytvářejí prostředky dynamicky, nebo prostřednictvím vytváření základních obrazů s přizpůsobenými úpravami.
Představte si například scénář, ve kterém je produkt samostatným systémem, který se instaluje na počítač zákazníka. Aby bylo možné rychle testovat kód vnitřní smyčky, devTest Labs může vytvářet testovací virtuální počítače, které mají nainstalovaný software zákazníka, artefakty a konfigurace.
Tady je několik výhod používání testovacích prostředí v pracovních postupech DevOps:
Použití laboratoře jako komponenty přiřazuje konkrétní ekosystém omezenému množství lidí. Obvykle má tým nebo skupina pracující ve společné oblasti nebo konkrétní funkce přiřazené testovací prostředí. Usually, a team or group working in a common area or a specific feature has a lab assigned to them.
Replikace infrastruktury v cloudu Vývojář může rychle nastavit vývojový ekosystém, který zahrnuje vývojářský virtuální počítač se zdrojovým kódem a nástroji. Aby bylo možné umožnit rychlejší vývoj ve vnitřních smyčkách, může vývojář také vytvořit prostředí, které je téměř identické s produkční konfigurací.
Aby bylo možné povolit asynchronní testování, může testovací prostředí v kanálu CI/CD současně spouštět několik různých předprodukčních prostředí nebo počítačů. V laboratoři můžete nasadit a spravovat různé infrastruktury podpory a build agenty. You can deploy and manage different support infrastructures and build agents in a lab.
Použití testovacích prostředí v kanálech CI/CD
Kanál CI/CD je důležitou komponentou DevOps. Pipeline integruje kód z pull requestu vývojáře s existujícím kódem a nasadí kód do produkčního ekosystému. V případě integrace DevTest Labs nemusí být všechny prostředky v testovacím prostředí. Můžete například nastavit Jenkins server mimo testovací prostředí pro stálý zdroj. Tady je několik konkrétních příkladů integrace laboratoří do kanálu CI/CD.
Build
Kanál buildu vytvoří balíček komponent pro testování a předání do vydání. Dynamicky se vytvářející infrastruktura umožňuje větší kontrolu. Laboratoře mohou být součástí vývojové linky jako umístění pro agenty sestavení a jiné podpůrné prostředky. DevTest Labs může omezit přístup k testovacímu prostředí. Tím se zvyšuje zabezpečení sestavovacích agentů a snižuje se možnost náhodného poškození.
Vzhledem k tomu, že v testovacím prostředí můžete mít více prostředí, může každé sestavení běžet asynchronně. ID sestavení je součástí informací o prostředí, které jednoznačně identifikuje prostředky v konkrétním sestavení.
Test
Kanál CI/CD může automatizovat vytváření prostředků DevTest Labs, jako jsou virtuální počítače a prostředí pro automatizované a ruční testování. Kanál používá artefakty sestavovacích informací nebo vzorce k vytvoření virtuálních počítačů s různými vlastními konfiguracemi testů.
Release
Proces vydání může k ověření použít DevTest Labs před nasazením kódu. Proces je podobný testování. Produkční prostředky by se neměly nasazovat v DevTest Labs.
Customization
Azure Pipelines, součást Azure DevOps Services, poskytuje stávající úlohy pro manipulaci s virtuálními počítači a prostředími v konkrétních testovacích prostředích. Azure Pipelines je jedním ze způsobů, jak spravovat kanál CI/CD. Testovací prostředí můžete integrovat do libovolného systému, který podporuje volání rozhraní REST API, spouštění skriptů PowerShellu nebo pomocí Azure CLI.
Několik správců pipeline CI/CD má existující plug-iny typu open-source, které můžou spravovat prostředky Azure a DevTest Labs. Možná budete muset použít vlastní skriptování tak, aby vyhovovalo potřebám kanálu. Při spuštění úlohy použijte instanční objekt s příslušnou rolí, obvykle Přispěvatel, pro přístup k testovacímu prostředí.