Jatkuvan käyttöönoton määrittäminen AWS S3: een käyttämällä CircleCI: tä vain 30 minuutissa

Jatkuva käyttöönotto saattaa aluksi tuntua monimutkaiselta, mutta älä pelkää. Tässä opetusohjelmassa esittelen sinulle kuinka toteuttaa jatkuva käyttöönotto AWS S3: een staattiselle verkkosivustolle käyttämällä CircleCI: tä alle 30 minuutissa.

Tarvitset sekä AWS-tilin että CircleCI-tilin. Jos sinulla ei vielä ole näitä, aloita avaamalla ilmainen AWS-tili täällä ja ilmainen CircleCI-tili täällä. Sekä AWS: llä että CircleCI: llä on ilmainen taso, joka on enemmän kuin tarpeeksi siihen, mitä tarvitset tähän opetusohjelmaan.

Koodin saaminen

Ensin aloitat haarniskaamalla ja kloonaamalla seuraavan projektin repo-sovelluksen Githubissa: S3ContinuousDeploy tai halutessasi voit kokeilla tätä opetusohjelmaa jollain omilla repoilla, kunhan se on staattinen sivusto.

Seuraavaksi lisäät projektin CircleCI-tiliisi.

Seuraavaksi valitse juuri kloonaamasi S3ContinuousDeploy repo ja napsauta rakenna projekti.

Valitse S3ContinuousDeploy repo ja napsauta rakenna projekti

Tässä vaiheessa rakennus suoritetaan, mutta saat virheilmoituksen, joka varoittaa, että projektisi asetuksia ei voitu havaita. Mikä on normaalia, koska meillä ei ole ympyrän.yml-asetustiedostoa paikallaan, mitä aiot tehdä seuraavaksi.

Tarkastelemalla CircleCI: n asiakirjoja saat käsityksen siitä, miltä ympyrä.symmelin tulisi näyttää. Valitettavasti annettu ympyrä.yml-tiedosto-esimerkki ei toimi sellaisenaan ja vaatii hieman säätämistä, joten tehdään se.

Alla on muokattu ympyrä.yml-tiedosto, jota käytät:

Pohjimmiltaan CircleCI luo rakenteen Docker-säilöön, ja riippuvuuksien alainen ominaisuus (rivi 3), jonka lisäin, kehottaa CircleCI: tä asentamaan AWS-komentoriviliittymän (awscli), jota käytetään tässä tapauksessa auttamaan hallitsemaan ja helpottamaan AWS: ään käyttöönottoa. S3.

Joten varmista, että olet lisännyt tiedoston ja sitoutunut sen repoon. Lopuksi varmista, että painat tätä ja muita mahdollisia sitoumuksiasi, ennen kuin siirryt seuraavaan vaiheeseen.

CircleCI-dokumentoinnin mukaan käyttöönottokomento on:

Polku tiedostoon oli hieman hankala selvittää, mutta katsomalla virhelokeja pystyin vihdoin saamaan sen oikein: home \ ubuntu \ projectName. Joten korvaa projectName projektisi nimellä, minun tapauksessani se on S3ContinuousDeploy.

S3: // ämpäri-URL ei toisaalta ole oikea ja sen pitäisi olla S3: // kauhan nimi. Tällä hetkellä meillä ei ole kauhan nimeä, joten hankitaan itsellemme ämpäri.

S3-kauhan luominen

Tässä vaiheessa siirrymme AWS-konsoliin luodaksesi S3-ämpäri tälle projektille:

Siirry konsolissasi Tallennustila ja sitten S3Paina Luo ämpäri

Kirjoita kauhan nimi, jota haluat käyttää tähän projektiin, sekä alue. (Paras käytäntö on käyttää lähintä aluetta sivustosi yleisölle.)

Ohitat muut vaiheet toistaiseksi, joten paina “Seuraava” ja paina sitten “Luo ämpäri” tarkistusnäytössä.

Tässä vaiheessa, jos palaat CircleCI: hen ja yrität suorittaa rakennuksen uudelleen, CircleCI palauttaa kohtalokkaan virheen: Käyttäjätietoja ei löydy. Joten miksi emme korjaa sitä seuraavaksi.

Meidän on ensin haettava käyttöoikeustiedot AWS: ltä ja toimitettava ne sitten CircleCI: lle, jotta AWS-CLI voi käyttää ja hallita S3-ämpäri. Paras käytäntö tähän on luoda uusi Identity and Access Management (IAM) -käyttäjä erityisesti CircleCI: lle.

Siirry AWS-konsolissa kohtaan Suojaus, identiteetti ja vaatimustenmukaisuus ja paina IAM ja sitten Lisää käyttäjä.

Lisää käyttäjän ikkuna -tyyliin CircleCI for käyttäjänimi, minulla on jo IAM-käyttäjä nimeltään CircleCI-asennus, joten käytän tämän opetusohjelman tarkoituksiin ja näiden vaiheiden havainnollistamiseksi CircleCI2: ta. Varmista, että valitset Ohjelmallisesta käyttöoikeudesta Access-tyypin.

Valitse käyttöoikeuksille Liitä olemassa olevat käytännöt suoraan ja valitse Käytännön nimi -kohdassa 'AdministratorAccess' ja napsauta sitten Luo käytäntö. Tämä antaa IAM-käyttäjällesi täyden pääsyn AWS S3 -kauhaan.

Kun olet luonut IAM-käyttäjän, muista säilyttää sekä käyttöavaintunnus että salainen käyttöavain, koska tarvitsemme heitä seuraavassa vaiheessa.

Napsauta nyt takaisin CircleCI: hen napsauttamalla projektinimen vieressä olevaa asetuspainiketta paljastaaksesi projektiasetukset-valikon ja napsauttamalla sitten AWS-luvat. Tällöin voit liittää tunnuksen ja avaimen edellisestä vaiheesta ja napsauttaa sitten ”Tallenna AWS-avaimet”.

Nyt CircleCI Containerissa on sekä AWS-komentoriviliitäntä -työkalu että käyttöoikeudet AWS S3 -kauhan käyttämiseen. Seuraavat vaiheet osoittavat, kuinka paljastat staattisen sivustosi maailmalle.

Siirry AWS-konsolin kohtaan Tallennus ja napsauta sitten S3 ja napsauta sitten ämpäri, jonka loimme aiemmin tässä opetusohjelmassa.

Huomaat, että reposta annettu koodi on jo asennettu onnistuneesti.

Nyt ennen kuin pääset käyttämään tätä staattista sivustoa, sinun on määritettävä S3-kauha verkkosivuston isännöintiä varten.

Napsauta samalla näytöllä Ominaisuudet ja sitten Staattinen verkkosivustojen ylläpito.

Valitse seuraavassa näytössä Käytä tätä ämpäri verkkosivuston isäntänä ja varmista, että kirjoitat index.html hakemistoasiakirjaan.

Muuten, yllä annettu HTTP-osoite on pääsypisteesi. Mutta jos kokeilet sitä selaimessa, valitettavasti se ei toimi ja saat käyttöoikeuden evätyn virheviestin. Mutta se on normaalia, että sinulla on vielä yksi tehtävä: Aseta ämpärikäytäntösi.

Tämä Bucket-käytäntö antaa kaikille mahdollisuuden käyttää AWS S3 -ämpäriä selaimen kautta.

Voit lukea täältä kauhakäytäntöjä ja esimerkkejä, jos haluat lisätietoja.

Nyt voit kopioida koodinpätkän yllä ja liittää sen Bucket policy Editor -sovellukseen ja Voilaan!

Jos näet yllä olevan näytön, onnittelut! Olet määrittänyt jatkuvan käyttöönoton onnistuneesti AWS S3 -kauhaan CircleCI: n avulla.

Nyt joka kerta, kun siirrät muutoksia Github-repoosi, CircleCI ottaa automaattisesti käyttöön muutokset AWS S3 -kauhaasi.

Olet ehkä huomannut, että vaikka käyttöönotto onnistui, CircleCI näyttää punaisen EI TESTI -varoituksen.

Tämä on normaalia, koska TDD (Test Driven Development) -ympäristössä kirjoitat ensin testit ja sitten ennen tuotantoon siirtymistä koodisi on läpäistävä kaikki testit. Esimerkki testeistä on tämän oppaan ulkopuolella, mutta riittää, kun sanotaan, että jos olisimme kirjoittaneet testit, CircleCI olisi ollut käytössä vain, jos kaikki testimme olisivat läpäisseet.

Oman verkkotunnuksesi käyttäminen staattiselle sivustolle pääsy on myös tämän oppaan ulkopuolella, mutta etsi täältä ohjeita siitä, kuinka määrittää Amazon Route 53 reitittämään Internet-liikenne uudelle sivustollesi.

Toivon voivani tehdä jatkossa integraatio- / käyttöönottoesimerkin sisältävän opetusohjelman täydellä testisäiliöllä joskus tulevaisuudessa. Sillä välin, jos sinulla on hetki, vastaa tähän oppaaseen lyhyt kysely täällä, kuten se LinkedInissä tai kirjoita kommentti kommenttiosaan.

Kiitos lukemisesta!