working aws codedeploy devops tool
Vadnica o avtomatizirani uvajanju z uporabo AWS CodeDeploy:
V 2. del orodij AWS DevOps smo videli, kako je bila storitev CodeBuild uporabljena za izdelavo projekta J2EE z uporabo Mavena.
V tej vadnici bomo videli, kako lahko artefaktno datoteko WAR, ki je shranjena v vedru S3, uporabimo za razmestitev na strežnik aplikacij Tomcat s pomočjo storitve CodeDeploy.
Oglejte si => Idealno vodilo za DevOps Training
AWS CodeDeploy je storitev uvajanja, ki avtomatizira uvajanje aplikacije v primerke Amazon EC2 Linux ali Windows.
Ta vadnica bo tudi pojasnila, kako je mogoče Jenkinsa integrirati s CodeDeploy.
Predpogoj:
- Račun pri AWS je po možnosti brezplačen.
- Dobra in hitra internetna povezava.
- Uporabljena regija AWS - azijsko-pacifiška regija (Singapur).
- Primer Amazon Linux ali RHEL EC2.
- Tomcat nameščen na primerku EC2.
Opomba: Za namestitev vsebine repozitorij AWS CodeCommit ni podprt za storitev CodeDeploy. Podprta sta samo S3 in GitHub.
Kaj se boste naučili:
- Setup CodeDeploy
- Zaženite primerek Amazon Linux EC2
- Integriranje AWS CodeDeploy s S3
- Ustvari aplikacijo CodeDeploy
- Jenkinsova integracija z AWS CodeDeploy
- Zaključek
- Priporočeno branje
Setup CodeDeploy
AWS CodeDeploy bo moral sodelovati z dvema entitetama za dostop do primerka EC2 in segmenta S3, kjer so artefakti (datoteka WAR) shranjeni za razmestitev. Če želite zagotoviti, da storitev CodeDeploy dostopa do teh IAM, bo treba nastaviti vloge. Vloge IAM niso določene za uporabnike IAM, vendar imajo dostop samo do entitet.
# 1) Ustvari prva vloga za storitev CodeDeploy za dostop do primerka EC2.
mesta za brezplačno gledanje anime
Zaženite IAM in kliknite na Vloge-> Ustvari vlogo.
Spodaj Storitev AWS kliknite na EC2 -> Izberite primer uporabe -> EC2 in kliknite na Naprej-> Dovoljenja.
Izberite AWSCodeDeployRole pod imenom pravilnika in kliknite Naprej-> Pregled.
Vnesite ime vloge in kliknite na Ustvari vlogo.
Nazadnje uredite razmerje zaupanja za to vlogo, da zagotovite, da je storitev CodeDeploy dostopna v celotni ali določenih regijah / končnih točkah.
Kliknite vlogo in posodobite odnos zaupanja, kot je prikazano spodaj.
V pravilniku spremenite EC2 na Codedeploy in kliknite na Posodobite pravilnik o zaupanju.
2) Ustvari druga vloga za primerek EC2, ki uporablja storitev CodeDeploy za dostop do segmenta S3.
Za to vlogo ponovite zgornje korake in vnesite kot spodaj:
- Pojdi do IAM -> Vloge -> Ustvari vlogo.
- V razdelku Storitev AWS izberite EC2.
- Pod tem znova izberite primer uporabe in kliknite EC2 ter kliknite gumb Naprej-> Dovoljenja.
- Na zaslonu s pravilnikom o dovoljenjih za priloge izberite AmazonS3ReadOnlyAccess in kliknite gumb Naprej-> Pregled.
- Poimenujte vlogo HW-Codedeploy-EC2-S3 in kliknite na Ustvari vlogo.
Zdaj bi morali biti na voljo obe vlogi.
Zaženite primerek Amazon Linux EC2
V tem razdelku zdaj ponujamo primerek EC2.
Med zagotavljanjem primerka obvezno izberite vlogo HW-Codedeploy-EC2-S3 med Konfigurirajte podrobnosti primerka korak. Poskrbite tudi za odprta vrata 8080.
Skupaj s tem bomo morali tudi namestiti Zastopnik CodeDeploy in Tomcat kot strežnik aplikacij, ki bo uporabljen za razmestitev naše aplikacije.
# 1) Namestite in konfigurirajte agent CodeDeploy na primerku Amazon Linux
Agent CodeDeploy pomaga pri uvajanju in ga je treba namestiti v vseh primerih (okoljih), kjer bo uvajanje izvedeno.
Prijavite se v primerek Linuxa in prenesite agenta glede na uporabljeno regijo. V našem primeru je identifikator regija Singapur ap-jugovzhod-1.
Ukaz za prenos agenta bi bil v obliki:
wget https: // aws-codedeploy-. s3.amazonaws.com/latest/install
# 2) Namestite Tomcat na primerku EC2
- Če želite namestiti in zagnati Tomcat, naredite naslednje v vrstnem redu.
yum namestite tomcat7 tomcat7-webapps tomcat7-docs-webapp tomcat7-admin-webapps
- Omogočite uporabnika tomcat za upravitelja aplikacij. Spremembe izvedite, kot je prikazano v datoteki /etc/tomcat7/tomcat-users.xml
- Nazadnje zaženite storitev Tomcat.
storitev tomcat7 start
- Kosilo Tomcat upravitelj spletnih aplikacij in z URL-jem http: //: 8080 / manager preverite, ali deluje
Integriranje AWS CodeDeploy s S3
Kot je bilo omenjeno v 2. delu, CodeDeploy podpira samo S3 in GitHub kot repozitorij kode, ki se uporablja za razmestitev najnovejših različic aplikacije. Ker je naša aplikacija WAR datoteka shranjena v vedru S3, moramo zagotoviti, da je ohranjena oblika datoteke ZIP.
To pomeni, da mora biti datoteka WAR v datoteki ZIP, kar podpira postopek uvajanja z uporabo CodeDeploy.
- Na primerku Linuxa je treba namestiti tudi AWS CLI (vmesnik ukazne vrstice). Glejte URL namestiti.
- Zaženite naslednje korake v primerku Linuxa, da prenesete WAR iz vedra S3. Na gradbeni napravi je običajno treba izvesti naslednje korake.
nastavite AWS_ACCESS_KEY_ID =
nastavite AWS_SECRET_ACCESS_KEY =
nastavite AWS_DEFAULT_REGION = ap-jugovzhod-1
cd / opt / niranjan
aws s3 cp s3: //hwcodebuildbucket/HWJavaWebTarget/target/AWS-HelloWorld-1.0.0.war / opt / niranjan
- CodeDeploy uporablja appspec.yml datoteka, ki vsebuje navodila za razmestitev na primerke EC2. Ta datoteka mora biti v korenu mape, kamor se prenese datoteka WAR aplikacije.
Ustvarite datoteko appspec.yml in mapo skript, kot je prikazano spodaj:
Med uvajanjem se dogodki zaženejo v naslednjem vrstnem redu.
# 1) ApplicationStop
# 2) Preden namestite
# 3) Namesti (pokliče se razdelek z datotekami in kopira datoteka WAR)
# 4) Začetek aplikacije
- Uporabljena hierarhija map je
/ opt / niranjan
appspec.yml
AWS-HelloWorld-1.0.0.war
skripte
start_application
stop_application
uninstall_war_file
- Vsebina skriptov
stop_application:
curl –uporabnik tomcat: tomcat http://ec2-54-169-56-238.ap-southeast-1.compute.amazonaws.com:8080/manager/text/stop?path=/AWS-HelloWorld-1.0.0
razlika med soapui in soapui pro
start_application:
curl –uporabnik tomcat: tomcat http://ec2-54-169-56-238.ap-southeast-1.compute.amazonaws.com:8080/manager/text/start?path=/AWS-HelloWorld-1.0.0
uninstall_war_file
rm -rf /var/lib/tomcat7/webapps/AWS-HelloWorld-1.0.0.war
rm -rf /var/lib/tomcat7/webapps/AWS-HelloWorld-1.0.0
- ZIP vsebino in naložite datoteko ZIP v vedro S3. Prepričajte se, da je VERSIONING v vedru omogočen.
zip –r AWS-HelloWorld-1.0.0.war.zip Skripte AWS-HelloWorld-1.0.0.war appspec.yml
aws s3 cp /opt/niranjan/AWS-HelloWorld-1.0.0.war.zip
datoteke .torrent kako odpreti
s3: //hwcodebuildbucket/HWJavaWebTarget/target/AWS-HelloWorld-1.0.0.war.zip
ZIP datoteka, naložena v vedro S3, je prikazana na spodnjem zaslonu:
Namesto da ukaze izvajate enega za drugim, lahko ustvarite izvršljiv skript in vanj dodate zgornje ukaze ter ga zaženete vsakič, ko je nova datoteka WAR na voljo v gradnji.
Ustvari aplikacijo CodeDeploy
Aplikacija CodeDeploy je ustvarjena za zagotovitev, da se ustrezna revizija datoteke WAR razporedi v ustrezno okolje, ki je primerek EC2.
Zaženite storitev CodeDeploy in kliknite na Ustvari aplikacijo .
Vnesite ime aplikacije, skupino za razmestitev ( Primer: QA-Env) in izberite primerke EC2, ki se izvajajo.
Na koncu obrazca izberite vlogo storitve. To je druga vloga, ki je bila ustvarjena prej v vadnici.
Kliknite na Ustvari aplikacijo .
Izberite skupino za razmestitev (QA-Env) in izberite Dejanja -> Uvedite novo revizijo.
Ker je datoteka ZIP v vedru S3, vnesite mesto revizije, kot sledi:
s3: //hwcodebuildbucket/HWJavaWebTarget/target/AWS-HelloWorld-1.0.0.war.zip
Kliknite na Razporeditev . Uvajanje je uspešno, kot je prikazano spodaj.
Datoteka WAR je uspešno kopirana v imenik tomcat webapps.
Pobrskajte po URL-ju aplikacije in se prepričajte, da je aplikacija uspešno razmeščena.
Jenkinsova integracija z AWS CodeDeploy
Kot smo videli v prejšnjih dveh vajah, se Jenkins zelo dobro integrira z orodji AWS DevOps. Za integracijo Jenkinsa s CodeDeploy mora biti nameščen vtičnik. Kliknite tukaj za prenos in namestitev vtičnika CodeDeploy.
Najprej vnesite dostopni in tajni ključ za uporabnika IAM Jenkins -> Konfiguracija .
Zaključek
Do zdaj smo videli, kako lahko CodeDeploy uporabljamo za avtomatizacijo uvajanja datoteke WAR aplikacije J2EE, shranjene v vedru S3, v primerek EC2, ki izvaja strežnik aplikacij tomcat.
Serija teh treh orodij, tj. CodeCommit, CodeBuild in CodeDeploy, pomaga pri vidikih stalne integracije in neprekinjene dostave DevOps. Skupaj s temi tremi orodji je AWS CodePipeline še eno orodje, ki na koncu pomaga končati vizualizacijo dostave aplikacij.
Spremljajte našo prihajajočo vadnico, če želite izvedeti več o uvajanju spletnih programov .NET v AWS z uporabo Elastic Beanstalk.
PREV Vadnica | NASLEDNJA Vadnica
Priporočeno branje
- Najboljša orodja za razvijanje AWS za razvijanje in uvajanje v oblaku
- Neprekinjena razmestitev v DevOps
- Vadnica AWS CodeCommit za implementacijo DevOps v oblaku
- Neprekinjena dostava v DevOps
- Neprekinjeno testiranje v DevOps
- Pomen majhnih prirastkov dobav v DevOps
- Vadnica za AWS CodeBuild: Izvlečenje kode iz Maven Build
- DevOps Automation: Kako se avtomatizacija uporablja v praksi DevOps