Pideva juurutamise seadistamine AWS S3-le CircleCI abil vaid 30 minutiga

Pidev juurutamine võib alguses tunduda keeruline, kuid ärge seda hirmutage. Selles õpetuses näitan teile, kuidas rakendada pidevat juurutamist AWS S3-i staatilise veebisaidi jaoks, kasutades CircleCI vähem kui 30 minutiga.

Teil on vaja nii AWS-kontot kui ka CircleCI-kontot. Kui teil neid veel pole, avage kõigepealt tasuta konto AWS-i jaoks siin ja tasuta CircleCI-konto siin. Nii AWS-il kui ka CircleCI-l on tasuta tase, mis on enam kui piisav selle õppematerjali jaoks vajalikuks.

Koodi hankimine

Esmalt alustage Githubis järgmise projekti repoteesi harrastamist ja kloonimist: S3ContinuousDeploy või kui soovite, võite proovida seda õpetust ühe oma repoga, kui see on staatiline sait.

Järgmisena lisate projekti oma CircleCI kontole.

Järgmisena valige äsja kloonitud S3ContinuousDeploy repo ja klõpsake nuppu ehita projekt.

Valige S3ContinuousDeploy repoteek ja klõpsake nuppu ehita projekt

Sel ajal ehitamine käivitatakse, kuid teile kuvatakse tõrketeade, mis hoiatab teid, et teie projekti seadeid ei õnnestunud tuvastada. Mis on normaalne, kuna meil pole seadistatud ringi.yml konfiguratsioonifaili, mida teete järgmisena.

CircleCI dokumente vaadates saate aimu, milline peaks olema ring.yml. Kahjuks ei tööta esitatud ring.yml-faili näide sellisena, nagu see praegu on, ja vajab pisut täpsustamist, nii et teeme seda.

Allpool on muudetud ring.yml-fail, mida kasutate:

Põhimõtteliselt loob CircleCI ehituse Dockeri konteinerisse ja sõltuvuse sõltuvuse atribuudis (rida 3), mille lisasin, antakse CircleCI-le korraldus installida AWS-i käsuridade liides (awscli), mida sel juhul kasutatakse AWS-i juhtimise hõlbustamiseks ja hõlbustamiseks. S3.

Nii et lisage kindlasti fail ja kinnitage see oma repole. Lõpuks veenduge enne järgmise sammu jätkamist, et lükkate selle ja muud lubadused, mille olete võinud teha.

Vastavalt CircleCI dokumentatsioonile on juurutamise käsk järgmine:

Teekonda failini oli natuke keeruline välja mõelda, kuid tõrkelogisid vaadates suutsin selle lõpuks õigesti kasutada: home \ ubuntu \ projectName. Nii et asendage projectName oma projekti nimega, minu puhul on see S3ContinuousDeploy.

Seevastu S3: // kopp-URL pole õige ja peaks olema S3: // kopa nimi. Praegu pole meil kopa nime, nii et lähme endale ise kopp.

S3 ämbri loomine

Selles etapis suundume AWS-i konsooli, et luua selle projekti jaoks S3-kopp:

Minge konsoolis menüüsse Storage ja seejärel S3Vajutage Loo kopp

Sisestage kopa nimi, mida soovite selle projekti jaoks kasutada, samuti piirkond. (Parim tava on kasutada saidi vaatajaskonnale lähimat piirkonda.)

Nüüd jätate muud toimingud vahele, nii et vajutage nuppu „Järgmine“ ja seejärel ülevaatusekraanil nuppu „Loo ämber“.

Kui lähete tagasi CircleCI juurde ja proovite ehitust uuesti käivitada, tagastab CircleCI saatusliku vea: mandaati ei õnnestu leida. Miks me siis seda järgmist ei paranda?

Esmalt peame mandaadid hankima AWS-ilt ja seejärel edastama need CircleCI-le, et AWS-i klõps saaks juurdepääsu S3-kopale ja seda hallata. Parim tava on luua spetsiaalselt CircleCI jaoks uus identiteedi ja juurdepääsuhalduse (IAM) kasutaja.

Minge AWS-i konsoolil jaotisse Turvalisus, identiteet ja vastavus ja vajutage nuppu IAM ja seejärel nuppu Lisa kasutaja.

Sisestage aknas Lisa kasutaja kasutaja nime jaoks CircleCI kasutajanimi juba IAM-i kasutaja nimega CircleCI setup, seega kasutan selle juhendaja eesmärkidel ja nende toimingute illustreerimiseks CircleCI2. Veenduge, et kontrollisite juurdepääsu tüübile Programmiline juurdepääs.

Lubade saamiseks valige käsk Manusta olemasolevad põhimõtted otse ja kontrollige jaotise Poliitika nimi all nuppu „AdministratorAccess” ja klõpsake siis nuppu Loo poliitika. See tagab teie IAM-i kasutajale täieliku juurdepääsu teie AWS S3-ämbrile.

Pärast IAM-i kasutaja loomist veenduge, et säilitaksite nii juurdepääsuvõtme ID kui ka salajase juurdepääsuvõtme, kuna vajame neid järgmises etapis.

Nüüd tagasi CircleCI juurde, klõpsake projekti nime kõrval sätete nuppu, et kuvada projekti sätete menüü, seejärel klõpsake AWS Permissions. Siin kleepige eelmises etapis ID ja võti ning klõpsate siis “Salvesta AWS-võtmed”.

Nüüd on meie CircleCI konteineril AWS-i käsuridaliidese tööriist ja mandaadid AWS S3-ämbri juurde pääsemiseks. Järgmised sammud näitavad teile, kuidas oma staatilist saiti maailmale näidata.

Minge AWS-i konsoolis mäluseadmesse ja klõpsake siis nuppu S3 ja siis kopikat, mille lõime selle õppematerjali jaoks varem.

Võite märgata, et repo kood on juba edukalt kasutusele võetud.

Nüüd, enne kui sellele staatiliselt saidile juurde pääsete, peate konfigureerima oma S3 ämbri veebisaidi majutamiseks.

Klõpsake samal ekraanil atribuudil ja seejärel veebisaidil Staatiline veebimajutus.

Järgmisel ekraanil valige Kasuta seda ämbrit veebisaidi majutamiseks ja veenduge, et tippite indeksdokumendi jaoks index.html.

Muide, ülaltoodud HTTP-aadress on teie juurdepääsu lõpp-punkt. Kuid kui proovite seda brauseris, siis see kahjuks ei tööta ja kuvatakse tõrketeade juurdepääsu keelamisest. Kuid see on tavaline, et teil on veel üks samm teha: seadke oma ämbri poliitika.

See ämbri poliitika lubab brauseri kaudu kõigile juurdepääsu AWS S3-ämbrile.

Lisateabe saamiseks lugege siit kopp-eeskirju ja näiteid.

Nüüd saate ülaltoodud koodilõigu kopeerida ja kleepida oma ämbri poliitikaredaktorisse ja Voilasse!

Kui näete ülaltoodud ekraani, siis palju õnne! CircleCI abil olete pideva juurutamise AWS S3 kopasse edukalt seadistanud.

Nüüd, kui sisestate muudatused oma Githubi repos, juurutab CircleCI muudatused automaatselt teie AWS S3-ämbrisse.

Võib-olla olete märganud, et isegi kui juurutamine oli edukas, näitab CircleCI teile punast hoiatust NO TESTS.

See on normaalne, kuna TDD (Test Driven Development) keskkonnas kirjutaksite kõigepealt testid ja siis enne tootmisele minekut peab kood läbima kõik testid. Testidega näide jääb selle õpetuse ulatusest välja, kuid piisab, kui öelda, et kui oleksime testide kirja pannud, oleks CircleCI kasutusele võtnud ainult siis, kui kõik meie testid oleksid läbinud.

Selle staatilise saidi juurde pääsemiseks ka oma domeeninime kasutamine jääb selle õpetuse raamest välja, kuid otsige siit juhiseid, kuidas seadistada Amazon Route 53 Interneti-liiklust teie uuele saidile suunama.

Loodan tulevikus teha juhendaja, mis hõlmab pideva integreerimise / juurutamise näidet koos täieliku testidega. Vahepeal, kui teil on mõni hetk, vastake siin selle õpetuse lühiküsitlusele, näiteks meeldib see LinkedInis, või postitage kommentaaride jaotisesse kommentaar.

Täname, et lugesite!