top aws devops tools
Nejlepší nástroje Amazon AWS DevOps: Potrubí , úložiště zdrojového kódu, sestavení a nasazení s webovými službami Amazon
Když jsem začal svou softwarovou kariéru asi před 20 a více lety, bylo nutné pořídit infrastrukturu (software a hardware) pro jakýkoli druh vývoje a nasazení.
To zahrnovalo zadání objednávky u dodavatele serverů, čekání na určitou dobu, aby bylo možné získat stejné, jakmile bylo nutné rezervovat doručený serverový prostor, instalace serveru, operačního systému, konfigurace úložiště atd. Také jsme se museli obávat výkon, dostupnost (24 * 7), údržba, síť atd.
To bylo příliš velké úsilí spojené s vychováváním serveru pro aktivity vývoje a nasazení aplikací.
Co se naučíte:
- Vývoj cloud computingu
- Vytvářejte a nasazujte pomocí nástrojů AWS
- Jenkinsova integrace se službami AWS
- Doporučené čtení
Vývoj cloud computingu
Věci se musely změnit s vývojem cloud computingu, což znamená, že máte přístup ke všem svým aplikacím a databázím přes internet. Poskytovatelé cloudových počítačů tedy udržují veškerý hardware, který je nezbytný pro spuštění vaší webové aplikace.
Všechny zdroje s příslušnou konfigurací, které potřebujete k hostování aplikace, jsou dostupné jediným kliknutím. Čas je drasticky zkrácen na zpřístupnění zdrojů pro vývojáře. Nejdůležitější je platit pouze za to, co potřebujete použít.
Vývojáři využívající cloudové služby se zaměřují pouze na to, co potřebují pro práci na našich projektech, a ne se starat o dostupnost infrastruktury. Nedostávám se k typům cloud computingu (IaaS, PaaS, SaaS), na internetu je k dispozici spousta informací, které popisují, o co jde.
Existuje mnoho poskytovatelů cloudu. Ale 3 nejpopulárnější, se kterými jsem pracoval, jsou:
- Webové služby Amazon
- Microsoft Azure
- Google Cloud
V této části se zaměřím na nástroje pro potrubí , úložiště zdrojového kódu, sestavení a nasazení s Webové služby Amazon . Nezapomeňte, že týmy stále používají nástroje DevOps jako Jenkins, Git, Maven a další.
Je tedy nezbytně nutné, aby týmy mohly chtít přesunout svá aktiva a artefakty do cloudové infrastruktury, ale také musíme maximalizovat jejich stávající investice do nástrojů a dat pomocí integrace / migrace, pokud je to možné.
Klepněte na tady dozvědět se o AWS a různých službách pro architekty, vývojáře a SysOPS. Pro uvedené nástroje použijeme bezplatný účet, ale samozřejmě v produkčním prostředí budete muset obstarat služby k použití.
Vytvářejte a nasazujte pomocí nástrojů AWS
Z hlediska sestavení a nasazení se podíváme na následující služby AWS
zdarma Windows Registry Cleaner a opravy
- AWS CodePipeline
- AWS CodeCommit
- AWS CodeBuild
- AWS CodeDeploy
1. AWS CodePipeline
AWS CodePipeline je podobný Jenkinsovu kanálu, který pomáhá mít vizuální pohled na proces doručování mezi koncovými body.
Takže v CodePipeline obvykle nakonfigurujete následující
- Repozitář zdrojového kódu - Váš zdrojový kód by tedy musel být buď v AWS CodeCommit, nebo v úložišti GitHub.
- Build Service - Podrobnosti AWS CodeBuild budou nakonfigurovány jako součást kanálu.
- Nasadit - AWS CodeDeploy bude nakonfigurován do kanálu.
- Během procesu nasazení do různých prostředí, pokud jsou potřebná nějaká schválení, je možné je také nakonfigurovat
Takže pokud dojde ke změně kódu vývojářem, vizuální reprezentace Build and Deploy lze považovat za automatizovanou.
Konfigurace úložiště zdrojového kódu v AWS CodePipeline
Sestavte konfiguraci v AWS CodePipeline, která používá sestavení Maven
Konfigurace nasazení v AWS CodePipeline
Kompletní provedení je vidět v AWS CodePipeline
2. AWS CodeCommit
AWS CodeCommit je bezpečná online služba pro správu verzí, která hostí soukromé úložiště Git. Tým nemusí udržovat své vlastní úložiště pro správu verzí, místo toho používá AWS CodeCommit k ukládání svého zdrojového kódu nebo dokonce binárních souborů, jako jsou soubory WAR / JAR / EAR vygenerované z buildu.
S AWS CodeCommit vytvoříte úložiště a každý vývojář jej naklonuje do svého místního počítače, přidá do něj soubory a vrátí jej zpět do úložiště AWS CodeCommit. Jeden používá standardní příkazy GIT s úložištěm AWS CodeCommit.
Pro Např. jakmile je úložiště AWS CodeCommit naklonováno na místní počítač, použijete příkazy jako ‚git pull ',‚ git add', ‚git commit ',‚ git push' atd.
Bylo vytvořeno ilustrativní prázdné úložiště AWS CodeCommit
Naklonujte úložiště do místního počítače
Soubory přidané do úložiště AWS CodeCommit
3. AWS CodeBuild
Jak jsme viděli, zdrojový kód a další artefakty projektu jsou uloženy v úložišti AWS CodeCommit.
Implementovat Continuous Integration AWS CodeBuild jako Jenkins načte nejnovější změny zdrojového kódu z AWS CodeCommit nebo úložiště GitHub podle konfigurace a na základě specifikace sestavení Soubor YAML (created as buildspec.yml) the commands are run based on the four addresses like Install, Pre-build, Build and Post-build.
Jakmile je sestavení dokončeno, artefakty (WAR / ZIP / JAR / EAR) se ukládají do úložiště AWS, což je kbelík S3.
Ukázkový soubor buildspec.yml
version: 0.2 phases: install: commands: - echo Nothing in the install phase... pre_build: commands: - echo Nothing in the pre_build phase... build: commands: - echo Build started on `date` - mvn clean install post_build: commands: - echo Build completed on `date` artifacts: files: - target/HelloWorld-Maven.war
Ukázkový projekt AWS Codebuild
Budujte úspěch
Artefakt (soubor WAR) zkopírovaný do kbelíku S3
4. AWS CodeDeploy
Jak název napovídá AWS Codedeploy je služba nasazení, která automatizuje nasazení aplikace (v tomto případě souboru WAR) do instancí Amazon EC2 Linux nebo Windows.
Vzhledem k tomu, že nyní máme artefakty uložené v kbelíku S3, který byl dokončen pomocí AWS CodeBuild, artefakty jsou poté sebrány z kbelíku S3 a vhodně nasazeny na aplikační server Tomcat nebo JBoss atd. V zajišťování instance AWS EC2.
AWS CodeDeploy závisí na souboru YAML s názvem appspec.yml, který obsahuje pokyny k nasazení do instancí EC2.
Ukázkový soubor appspec.yml, kde je soubor index.html zkopírován a nasazen na server Apache
version:10.0 os:linux files: -source: /opt/deploy/index.html destination:/var/www/html/ hooks: BeforeInstall: -location:scripts/before_install runas:niranjan AfterInstall: -location:scripts/restart_server runas:niranjan
before_install skript
restart_server skript
Repozit GitHub všech souborů potřebných ke spuštění AWS CodeDeploy
Provedení nasazení v AWS CodeDeploy
Jenkinsova integrace se službami AWS
Jak již bylo zmíněno dříve, dnešní týmy používají Jenkins stejně jako defacto CI nástroj a ve většině případů by se od něj opravdu nechtěly vzdálit, ale spíše by se integrovaly se službami AWS, o kterých jsme diskutovali. I když existují určité postupy a já jsem ukázal screenshoty integrace.
1. Integrace Jenkins s AWS CodeCommit
2. Jenkinsova integrace s AWS CodeBuild
3. Jenkinsova integrace s AWS CodeDeploy
Dáme to dohromady pro AWS DevOps Stack:
Zásobník vypadá níže pro služby AWS, které jsou diskutovány výše.
Doufám, že tento návod, nástroje pro potrubí , úložiště zdrojového kódu, sestavení a nasazení s Amazon Web Services, bylo pro vás užitečné.
Doporučené čtení
- Výukový program AWS CodeCommit pro implementaci DevOps v cloudu
- Práce na AWS CodeDeploy DevOps Tool pro automatické nasazení
- Kontinuální nasazení v DevOps
- Nejlepší nástroje pro testování softwaru 2021 (QA Test Automation Tools)
- Výukový program AWS CodeBuild: Extrahování kódu z Maven Build
- Kontinuální doručování v DevOps
- 10 NEJLEPŠÍCH nástrojů pro monitorování cloudu pro dokonalou správu cloudu
- Kontinuální testování v DevOps