top aws devops tools
Najlepšie nástroje Amazon AWS DevOps: Potrubie , úložisko zdrojových kódov, zostavenie a nasadenie s webovými službami Amazon
Keď som začal svoju softvérovú kariéru asi pred 20 rokmi, bolo treba zaobstarať infraštruktúru (softvér a hardvér) pre akýkoľvek druh vývoja a nasadenia.
To zahrňovalo objednanie servera u dodávateľa, čakanie na istý čas, kým sa server nedostane rovnaký, akonáhle bolo potrebné rezervovať doručený serverový priestor, inštalácia servera, operačného systému, konfigurácia úložiska atď. Mali sme sa tiež obávať výkon, dostupnosť (24 * 7), údržba, sieť atď.
To bolo príliš veľké úsilie spojené s prípravou servera na aktivity vývoja a nasadenia aplikácií.
Čo sa dozviete:
- Vývoj cloud computingu
- Vytváranie a nasadenie pomocou nástrojov AWS
- Jenkinsova integrácia so službami AWS
- Odporúčané čítanie
Vývoj cloud computingu
S vývojom Cloud Computingu sa veci museli zmeniť, čo znamená, že máte prístup k všetkým svojim aplikáciám a databázam cez internet. Poskytovatelia cloudových výpočtov teda udržiavajú všetok hardvér, ktorý je potrebný na spustenie vašej webovej aplikácie.
Všetky zdroje s príslušnou konfiguráciou, ktoré potrebujete na hosťovanie svojej aplikácie, sú dostupné kliknutím. Čas sa drasticky skracuje na sprístupnenie zdrojov pre vývojárov. Najdôležitejšie je, že platíte iba za to, čo potrebujete použiť.
Vývojári využívajúci cloudové služby sa zameriavajú iba na to, čo potrebujú na prácu na našich projektoch, a nie na starosť o dostupnosť infraštruktúry. Nerozprávam sa o typoch cloud computingu (IaaS, PaaS, SaaS), cez internet je k dispozícii veľa informácií na ich popísanie.
Poskytovateľov cloudu je veľa. Ale 3 najobľúbenejšie, s ktorými som pracoval, sú:
- Amazon Web Services
- Microsoft Azure
- Google Cloud
V tejto časti sa zameriam na nástroje pre potrubie , úložisko zdrojových kódov, zostavenie a nasadenie s Amazon Web Services . Nezabudnite, že tímy stále používajú nástroje DevOps ako Jenkins, Git, Maven a ďalšie.
Je preto nevyhnutné, že hoci tímy môžu chcieť presunúť svoje aktíva a artefakty do cloudovej infraštruktúry, musíme tiež čo najviac maximalizovať ich existujúce investície do nástrojov a dát s integráciou / migráciou.
Kliknite tu dozvedieť sa viac o AWS a rôznych službách pre architektov, vývojárov a SysOPS. Pre uvedené nástroje použijeme bezplatný účet, ale samozrejme v produkčnom prostredí budete musieť zaobstarať služby na použitie.
Vytváranie a nasadenie pomocou nástrojov AWS
Z hľadiska zostavenia a nasadenia sa pozrieme na nasledujúce služby AWS
programy, ktoré používajú c ++
- AWS CodePipeline
- AWS CodeCommit
- AWS CodeBuild
- AWS CodeDeploy
1. AWS CodePipeline
AWS CodePipeline je podobný Jenkinsovmu kanálu, ktorý pomáha mať vizuálny prehľad o procese doručovania medzi koncovými bodmi.
Takže v CodePipeline obvykle nakonfigurujete nasledujúce
- Repozitár zdrojových kódov - Váš zdrojový kód by teda musel byť v úložisku AWS CodeCommit alebo GitHub.
- Build Service - Podrobnosti AWS CodeBuild budú nakonfigurované ako súčasť potrubia.
- Nasadiť - AWS CodeDeploy bude nakonfigurovaný do potrubia.
- Ak sú potrebné nejaké schválenia, môžu sa počas procesu nasadenia do rôznych prostredí nakonfigurovať tiež
Takže ak dôjde k zmene kódu vývojárom, vizuálnu reprezentáciu Build and Deploy možno považovať za automatizovanú.
Konfigurácia úložiska zdrojového kódu v AWS CodePipeline
Konfiguráciu zostavte v programe AWS CodePipeline, ktorý používa zostavenie Maven
Konfigurácia nasadenia v AWS CodePipeline
Úplné spustenie je vidieť v AWS CodePipeline
2. AWS CodeCommit
AWS CodeCommit je bezpečná online služba na správu verzií, ktorá hostí súkromné úložiská Git. Tím nemusí udržiavať svoje vlastné úložisko na správu verzií, namiesto toho používa AWS CodeCommit na ukladanie zdrojového kódu alebo dokonca binárnych súborov, ako sú súbory WAR / JAR / EAR vygenerované z buildu.
Pomocou AWS CodeCommit vytvoríte úložisko a každý vývojár ho naklonuje na svoj lokálny počítač, pridá doň súbory a vráti ho späť do úložiska AWS CodeCommit. Jeden používa štandardné príkazy GIT s archívom AWS CodeCommit.
Pre Napr. akonáhle je úložisko AWS CodeCommit naklonované na lokálny počítač, použili by ste príkazy ako „git pull“, „git add“, „git commit“, „git push“ atď.
Ilustratívne AWS CodeCommit vytvorené prázdne úložisko
Klonujte úložisko do lokálneho počítača
Súbory pridané do úložiska AWS CodeCommit
3. AWS CodeBuild
Ako sme videli, zdrojový kód a ďalšie artefakty projektu sú uložené v úložisku AWS CodeCommit.
Na implementáciu Continuous Integration AWS CodeBuild, ako je Jenkins, sa načítajú najnovšie zmeny zdrojového kódu z úložiska AWS CodeCommit alebo GitHub tak, ako sú nakonfigurované a založené na špecifikácii zostavy. Súbor YAML (vytvorené ako buildspec.yml) sa príkazy spúšťajú na základe štyroch fáz, ako sú napríklad inštalácia, predbežné zostavenie, zostavenie a následné zostavenie.
Po dokončení zostavenia sú artefakty (WAR / ZIP / JAR / EAR) uložené v úložisku AWS, ktoré je segmentom S3.
Ukážkový súbor 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ážkový projekt AWS Codebuild
Budujte úspech
Artefakt (súbor WAR) bol skopírovaný do vedra S3
4. AWS CodeDeploy
Ako naznačuje názov, AWS Codedeploy je služba nasadenia, ktorá automatizuje nasadenie aplikácie (v tomto prípade súboru WAR) na inštancie Amazon EC2 Linux alebo Windows.
Pretože teraz máme artefakty uložené v segmente S3, ktorý bol dokončený pomocou AWS CodeBuild, artefakty sa potom vyberú z segmentu S3 a vhodne sa nasadia na aplikačný server Tomcat alebo JBoss atď. V zabezpečení inštancie AWS EC2.
AWS CodeDeploy závisí na súbore YAML s názvom appspec.yml, ktorý obsahuje pokyny na nasadenie do inštancií EC2.
Vzorový súbor appspec.yml, kde sa súbor index.html skopíruje a nasadí 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 scenár
restart_server scenár
Repozit GitHub všetkých súborov potrebných na spustenie AWS CodeDeploy
Vykonanie nasadenia v AWS CodeDeploy
Jenkinsova integrácia so službami AWS
Ako už bolo spomenuté skôr, tímy v súčasnosti používajú Jenkins ako nástroj defacto CI a vo väčšine prípadov by sa od neho skutočne nechceli vzdialiť, ale radšej sa integrovali so službami AWS, o ktorých sme hovorili. Aj keď sú zapojené určité postupy, ukázal som snímky obrazovky integrácie.
1. Integrácia Jenkins s AWS CodeCommit
2. Jenkinsova integrácia s AWS CodeBuild
3. Jenkinsova integrácia s AWS CodeDeploy
Všetko pre AWS DevOps Stack:
Zásobník sa zameriava na služby AWS, ktoré sú popísané vyššie.
Dúfam, že tento návod, nástroje pre potrubie , úložisko zdrojových kódov, zostavenie a nasadenie s Amazon Web Services, bolo pre vás užitočné.
Odporúčané čítanie
- Výukový program AWS CodeCommit pre implementáciu DevOps v cloude
- Práca na nástroji AWS CodeDeploy DevOps pre automatické nasadenie
- Nepretržité nasadenie v DevOps
- Najlepšie nástroje na testovanie softvéru 2021 (QA Test Automation Tools)
- Výukový program AWS CodeBuild: Extrahovanie kódu z Maven Build
- Nepretržité doručovanie v DevOps
- 10 NAJLEPŠÍCH nástrojov na sledovanie cloudu pre dokonalú správu cloudu
- Nepretržité testovanie v DevOps