From 126a417af13405b18dd532b52577408b6fa4b806 Mon Sep 17 00:00:00 2001 From: HlisTilen Date: Mon, 9 Dec 2024 11:42:17 +0100 Subject: [PATCH] fix: naloga 05 --- .DS_Store | Bin 0 -> 6148 bytes .github/workflows/frontend.yml | 43 +++++++- 05_DevOps_Environments/README.md | 19 +++- docs/index.html | 182 +++++++++++++++++++++++++++++-- 4 files changed, 222 insertions(+), 22 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..6aebb1b9350c2d2fedfedf34bb8318395054b900 GIT binary patch literal 6148 zcmeHK%Wl&^6ur|L;!r9DC!#%f)YFI5Tarjb$6w)yD{yxH7>4!3vL~h|nr!*oz<^3h) zy-j7>r8YfbW_rpI^q3-&G+B)lw^NZ<5LrQFgSs@P7u2T&y<_weFohITFU9aN#c&l2 z)eJ)&YY4G|U@gb@6vs7i>}5E3O?{QchjlE(ntfi<>;_owWmuZXVT||z)QIT}oG~&> zRBZWmg4Au>rkz0M8PVL(s!B1fdZ0F($^EL;#xm{lJw1Y{j1-P!em%3 ze-j&<&V`FPH|K7-Z(FBw(i(P#qom#$yyo7ql##z^cl?)OchWBG9Ljju3FGcS1%yEt zE^l6iaUdskIf{cs#kTZ>n|Jf=!ma7FvU_k)^zK)yv!XYBP$?I^z3TpKmUpk;x%=>_ z{XRO2B`+Q(un{TSHn@OKX#7fi+#1A@jC&Yk|2!R06SuBG&w(Y}khFySa4buM?)f(( zmAiHRQ?VIX1*`&pSONY%cqoiDgL94Q(}7AI0e}vMm7%SE{ed120BZ*48ZiPBIuxiw zg*jpfb8-+m9P>5fKi8$6Q&M6N)eg58)|y5;cvswhCAURu$OP-2(6b&EKE@ zSA%TNDqt1(uM`kYqt&P*C9}6?lH3;j#Y!V;+rVSFz0atSTi`+ Sh!L3m5l}MN$|~?z75EADYT#c0 literal 0 HcmV?d00001 diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml index a094054..ba0a37c 100644 --- a/.github/workflows/frontend.yml +++ b/.github/workflows/frontend.yml @@ -84,10 +84,41 @@ jobs: name: frontend-coverage path: 04_DevOps_Deploying/primer/frontend/coverage/ - # Gradnja Docker slike in nalaganje na Docker Hub - dockerize-and-push: - needs: test-frontend # Izvede se po uspešnem testiranju + # Gradnja Docker slike in nalaganje na Docker Hub - Development + dockerize-and-push-dev: + needs: test-frontend + runs-on: ubuntu-latest + environment: Development + if: github.ref == 'refs/heads/main' # Ensure this job only runs on the main branch + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + + - name: Build Docker image + run: | + docker build -t ${{ secrets.DOCKER_USERNAME }}/frontend:dev ./04_DevOps_Deploying/primer/frontend + docker tag ${{ secrets.DOCKER_USERNAME }}/frontend:dev ${{ secrets.DOCKER_USERNAME }}/frontend:${{ github.sha }} + + - name: Push Docker image to Docker Hub + run: | + docker push ${{ secrets.DOCKER_USERNAME }}/frontend:dev + docker push ${{ secrets.DOCKER_USERNAME }}/frontend:${{ github.sha }} + + # Gradnja Docker slike in nalaganje na Docker Hub - Production + dockerize-and-push-prod: + needs: test-frontend runs-on: ubuntu-latest + environment: + name: Production + url: https://example-production.com + if: github.ref == 'refs/heads/production' # Ensure this job only runs on the production branch steps: - name: Checkout code @@ -101,12 +132,12 @@ jobs: - name: Build Docker image run: | - docker build -t ${{ secrets.DOCKER_USERNAME }}/frontend:latest ./04_DevOps_Deploying/primer/frontend - docker tag ${{ secrets.DOCKER_USERNAME }}/frontend:latest ${{ secrets.DOCKER_USERNAME }}/frontend:${{ github.sha }} + docker build -t ${{ secrets.DOCKER_USERNAME }}/frontend:prod ./04_DevOps_Deploying/primer/frontend + docker tag ${{ secrets.DOCKER_USERNAME }}/frontend:prod ${{ secrets.DOCKER_USERNAME }}/frontend:${{ github.sha }} - name: Push Docker image to Docker Hub run: | - docker push ${{ secrets.DOCKER_USERNAME }}/frontend:latest + docker push ${{ secrets.DOCKER_USERNAME }}/frontend:prod docker push ${{ secrets.DOCKER_USERNAME }}/frontend:${{ github.sha }} # Deploy na Firebase Hosting diff --git a/05_DevOps_Environments/README.md b/05_DevOps_Environments/README.md index a5622c2..a041a16 100644 --- a/05_DevOps_Environments/README.md +++ b/05_DevOps_Environments/README.md @@ -1,4 +1,4 @@ -# 📝 Vaja: GitHub Pages in Environments +# 📝 Vaja: GitHub Pages in environments ## 📑 Namen vaje Cilj te vaje je, da se študenti naučijo uporabljati **GitHub Pages** za uvajanje statične spletne strani z opisom projekta in nastaviti **environments** za razlikovanje med testnimi in produkcijskimi okolji. @@ -30,8 +30,15 @@ Cilj te vaje je, da se študenti naučijo uporabljati **GitHub Pages** za uvajan - Ustvarite dva okolja v GitHub **Environments**: - **Development**: - Uporablja se za testne namestitve. + - Docker slika mora biti označena z oznako dev. + - Slika mora biti objavljena na Docker Hub. + - **Production**: - Uporablja se za končne namestitve in zahteva ročno odobritev. + - Docker slika mora biti označena z oznako prod. + - Slika mora biti objavljena na Docker Hub. + - Zahteva ročno odobritev. + - V cevovodu nastavite, da se spremembe iz veje `main` nameščajo na okolje Development, medtem ko se spremembe iz veje `production` nameščajo na Production. --- @@ -54,16 +61,18 @@ Za primer implementacije si oglejte primer aplikacije v repozitoriju in primer c ## 🔄 Povzetek naloge 1. **Dodajte fazo uvajanja na GitHub Pages**. -2. **Nastavite environments** (Development in Production). +2. **Nastavite environments** (Development in Production). +3. **Dodajte fazo za objavo** Docker slik na Docker Hub. --- ## 🔍 Ocenjevanje -1. **GitHub Pages (40%)** +1. **GitHub Pages (30%)** - Statična stran je pravilno objavljena. -2. **Environments (60%)** - - Development in Production sta pravilno nastavljena. +2. **Environments (70%)** + - Development in Production sta pravilno nastavljena. + - Docker hub: slike so pravilno objavljene. --- \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 8673416..3027fed 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,26 +1,186 @@ - + - My Project + RIRS - Razvoj informacijskih rešitev in storitev -

Welcome to My Project

-

This is a simple project description for the GitHub Pages example.

-

Created by Your Name.

+
+

RIRS

+

Razvoj informacijskih rešitev in storitev

+
+ +
+
+

📘 Dobrodošli

+
+

Dobrodošli v repozitoriju predmeta RIRS (Razvoj informacijskih rešitev in storitev), ki bo služil kot glavna platforma za izvajanje vaj in shranjevanje učnih materialov med semestrom.

+
+
+
+

📂 Struktura repozitorija

+
+

Repozitorij je organiziran po sklopih vaj, ki jih bomo izvajali tekom semestra. Vsak sklop bo vseboval potrebne vire, kodo in navodila za izvedbo nalog.

+
    +
  • /01_vaja: Vaja 1 - [🔍 Kratek opis vsebine vaje]
  • +
  • /02_vaja: Vaja 2 - [🔍 Kratek opis vsebine vaje]
  • +
  • ...
  • +
+
+
+
+

💬 Prispevanje in podpora

+
+

V primeru težav ali vprašanj se obrnite na tilen.hlis@um.si ali pa ustvarite issue tukaj na GitHubu.

+
+
+
+

❓ Pogosta vprašanja

+
+

❔ Kaj storim, če ne morem dostopati do vsebine?

+

Prosimo, preverite, ali imate veljavno GitHub prijavo in dovoljenja za dostop. V primeru težav kontaktirajte asistenta.

+

📤 Kako oddam nalogo?

+

Naloge bodo ocenjene na vašem lastnem repozitoriju.

+
+
+
+