Skip to content

Commit

Permalink
[FEAT] Basque translation: 8.1 subsection translation
Browse files Browse the repository at this point in the history
  • Loading branch information
anediaz committed Mar 19, 2021
1 parent 9079269 commit 25dc968
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 14 deletions.
6 changes: 3 additions & 3 deletions README.basque.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ Irakurri beste hizkuntza batzuetan: [![EN](/assets/flags/EN.png)**EN**](/README.
5. [Ekoizpena (19) ](#5-ekoizpena)
6. [Segurtasuna (25)](#6-segurtasuna)
7. [Errendimendua (2) (Aribidean ✍️)](#7-zirriborroa-errendimendua)
8. [Docker (15)](#8-docker)
8. [Docker (15)](#8-docker-jardunbide-egokienak)

<br/><br/>

Expand Down Expand Up @@ -1088,13 +1088,13 @@ edo hornitzaileen lainoko zerbitzuak

<p align="right"><a href="#edukien-aurkibidea">⬆ Itzuli hasierara</a></p>

# `8. Docker`
# `8. Docker, jardunbide egokienak`

🏅 Mila esker [Bret Fisher](https://github.com/BretFisher)-i, ondorengo praktika hauetako asko ikasi baikenituen berarengandik

<br/><br/>

## ![] 8.1 Erabili etapa anitzeko konpilazioak Docker irudi finagoak eta seguruagoak lortzeko
## ![] 8.1 Erabili etapa anitzeko konpilazioak Docker irudi sinpleagoak eta seguruagoak lortzeko

**TL;PL:** erabili etapa anitzeko konpilazioak beharrezko produkzio objektuak soilik kopiatzeko. Konpilazio menpekotasun eta fitxategi asko ez dira beharrezkoak zure aplikazioa exekutatzeko. Etapa anitzeko konpilazioak erabiliz gero, baliabide horiek konpilazioan zehar erabil daitezke, denboraren exekuzio inguruneak beharrezko baliabideak besterik ez duen bitartean. Etapa anitzeko konpilazioak oso modu erraza dira gehiegizko pisua kendu eta segurtasun mehatxuak saihesteko

Expand Down
21 changes: 10 additions & 11 deletions sections/docker/multi_stage_builds.basque.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Erabili etapa anitzeko eraikuntzak
# Erabili etapa anitzeko konpilazioak

### Azalpen paragrafoa
### Azalpena

Etapa anitzeko eraikuntzek, eraikuntzarekin eta exekunzio-denborarekin erlazionatutako ingurune xehetasunetatik banantzea ahalbidetzen du, adibidez binario erabilgarriak, ageriko ingurune aldagaiak, eta baita azpian dagoen sistema eragilea ere. Dockerfileak etapa anitzetan banatzeak, bukaerako irudiaren eta kontainerraren tamainak murrizten lagunduko du, soilik zure aplikazioak funtzionatzeko behar duena igorriko duzu eta. Batzuetan eraikitze etapan soilik beharko dituzun tresnak gehitu beharko dituzu, adibidez TypeScript CLI bezalako garapen menpekotasunak. Berau eraikitze etapan instala zenezake eta azken irteera bakarrik exekuzio etapan erabili. Honek, zure irudia murriztuko dela esan nahi du, menpekotasun batzuk ez baitira bertan kopiatuak izango. Eraikitzearako orduan, ingurune aldagaiak agerian jarri beharko dituzu, ondoren exekuzio garaian agertuko ez direnak (ikusi [ekidin eraikitze faseko sekretuak](/sections/docker/avoid-build-time-secrets.basque.md)), esaterako, zerbitzu konkretu batzuekin komunikatzerako orduan erabilitako API Gakoak eta sekretuak. Azken etapan, eraikitze karpeta edota bakarrik ekoizpenerako menpekotasunak (ondorengo etapa batean ere berreskura ditzakezunak) bezalako baliabide aurre-eraikietan kopia zenitzake.
Etapa anitzeko konpilazioek aukera ematen dute eraikuntzei eta exekuzio denborari dagozkion inguruneko xehetasunak bereizteko, hala nola eskuragarri dauden binarioak, agerian dauden inguruneko aldagaiak eta baita azpiko sistema eragilea ere. Zure Docker fitxategiak etapa anitzetan banatzeak azken irudia eta edukiontziaren tamaina murrizten lagunduko dizu, zure aplikazioa egikaritzeko behar duzuna bakarrik bidaliko baituzu. Batzuetan, konpilazio fasean soilik beharrezkoak diren tresnak sartu beharko dituzu, adibidez garapenerako menpekotasunak, hala nola TypeScripten CLI. Konpilazio fasean instalatu dezakezu, eta azken irteera exekuzio fasean bakarrik erabili. Horrek esan nahi du zure irudia txikitu egingo dela, menpekotasun batzuk ez baitira kopiatuko. Agian, egikaritze aldian egon behar ez luketen inguruneko aldagai batzuk agerian jarri beharko dituzu eraikuntzan (aztertu [nola saihestu konpilazio aldiko sekretuak](/sections/docker/avoid-build-time-secrets.basque.md)), hala nola API gakoak eta zerbitzu zehatzekin komunikatzeko erabiltzen diren sekretuak. Azken fasean, aurrez eraikitako baliabideak kopiatu ditzakezu, hala nola zure konpilazio karpeta edo soilik ekoizpenekoak diren menpekotasunak, hurrengo urratsean ere eskuratu ditzakezunak.

### Adibidea

Imajina dezagun ondorengo direktorio egitura
Eman dezagun direktorio egitura hau

```
- Dockerfile
Expand All @@ -18,8 +18,7 @@ Imajina dezagun ondorengo direktorio egitura
- docs/
- README.md
```

Zure [.dockerignore](../docker/docker-ignore.basque.md)k dagoeneko aplikazioaren eraikitze eta exekuzioan beharrezkoak ez diren fitxategiak filtratuko ditu.
Dagoeneko zure aplikazioa eraikitzeko eta exekutatzeko beharrezkoak ez diren fitxategiak iragaziko ditu zure [.dockerignore](../docker/docker-ignore.basque.md)-k.

```
# Ez kopiatu existitzen diren node_modules karpetan, gure node_modules propioa berreskuratuko dugu
Expand All @@ -28,9 +27,9 @@ Zure [.dockerignore](../docker/docker-ignore.basque.md)k dagoeneko aplikazioaren
docs
```

#### Etapa anitzdun Dockerfilea
#### Etapa anitzeko Dockerfile fitxategia

Docker etengabeko integrazioko inguruneetan sarri erabiltzen delako, `npm ci` komandoa erabiltzea gomendatzen da (`npm install` beharrean). Azkarragoa eta zorrotzagoa da, eta kontraesanak murrizten ditu soilik package-lock.json fitxategian zehaztutako bertsioak erabiliaz. Begiratu [hau](https://docs.npmjs.com/cli/ci.html#description) informazio gehiagorako. Adibide honek yarn pakete kudeatzailea erabiltzen du, non `npm ci`en baliokidea `yarn install --frozen-lockfile` [komandoa](https://classic.yarnpkg.com/en/docs/cli/install/) den.
Docker maiz etengabeko integrazio inguruneetan erabiltzen denez, `npm ci` komandoa erabiltzea gomendatzen da (`npm install` komandoa beharrean). Azkarragoa da, zorrotzagoa ere bai, eta inkoherentziak murrizten ditu package-lock.json fitxategian zehaztutako bertsioak soilik erabiliz gero. Begiratu [hau](https://docs.npmjs.com/cli/ci.html#description) informazio gehiago lortzeko. Adibide horrek yarn erabiltzen du pakete kudeatzaile gisa eta horretarako `yarn install --frozen-lockfile` [komandoa](https://classic.yarnpkg.com/en/docs/cli/install/) da `npm ci`-ren baliokidea.

```dockerfile
FROM node:14.4.0 AS build
Expand All @@ -50,7 +49,7 @@ RUN yarn install --frozen-lockfile --production
CMD [ "node", "dist/app.js" ]
```

#### Etapa anitzak eta oinarri-irudi ezberdinak dituen Dockerfilea
#### Docker fitxategia etapa anitzekin eta oinarrizko irudiekin

```dockerfile
FROM node:14.4.0 AS build
Expand All @@ -71,9 +70,9 @@ RUN yarn install --frozen-lockfile --production
CMD [ "node", "dist/app.js" ]
```

#### Etapa anitzak eta oinarri-irudi ezberdinak dituen Dockerfile osoa
#### Dockerfile osoa etapa anitzekin eta oinarrizko irudiekin

Gure Dockerfilek bi etapa edukiko ditu: Bata, funtzionalitate guztiak dituen Node.js Docker irudia erabiliz aplikazioa eraikitzeko, eta bigarrena aplikazioa exekutatzeko, Alpine irudi oso txikian oinarritua. Eraikitako fitxategiak gure bigarren etapan bakarrik kopiatuko ditugu, eta ondoren ekoizpeneko menpekotasunak instalatu.
Gure Docker fitxategiak bi fase izango ditu: bata, aplikazioa eraikitzekoa, Node.js Docker irudia erabiliz funtzio guztietan; eta bigarren fasea, aplikazioa exekutatzeko, Alpine irudi minimoan oinarritutakoa. Bigarren fasean konpilatutako fitxategiak bakarrik kopiatuko ditugu, eta gero produkzioaren menpekotasunak instalatuko ditugu.

```dockerfile
# Funtzionalitate guztiak dituen Node.js oinarri-irudiarekin hasi
Expand Down

0 comments on commit 25dc968

Please sign in to comment.