CI CD - LucasReynaert/It-Landscape GitHub Wiki
CI/CD (Continuous Integration en Continuous Deployment) is een nieuwe methode voor het schrijven → testen → releasen van code. Elke update van de code wordt automatisch getest en geïntegreerd met de main branch. CI is een pipeline waarbij je regelmatig pusht, automatisch buildt en automatisch tests runt. CD zorgt dan weer dat de geteste code uitrolt naar een test- of releasebranch. Dit kan met of zonder manuele goedkeuring.
De voordelen van deze methode zijn:
- Snelle ontwikkeling
- Minder manueel werk
- Hogere kwaliteit
- Makkelijker samenwerken
Basis image opzetten : docker run -d -p 127.0.0.1:3000:3000 getting-started
https://docs.github.com/en/actions/use-cases-and-examples/publishing-packages/publishing-docker-images#publishing-images-to-github-packages
Nu dat gebeurd is kunnen we beginnen met deze image in de repository te zetten die gebruik maakt van de CI/CD pipeline van github.
De eerste stap is om deze code in onze repository te zetten. Dus navigeer naar de map waar de image staat en zet deze in de repository.
Navigeer nu naar github actions en selecteer "Docker Image".
Nu druk je op configure krijg je deze template te zien.
Druk op save en dan loopt deze action.
En nu dat je pushed of gepulled wordt loopt deze test automatisch.
Hieronder heb ik mijn yml file aangepast zodat de frontend getest word:
name: CI Pipeline
#Deze workflow draait bij elke push of pull request naar de main branch
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
jobs:
build:
runs-on: ubuntu-latest #Draait op een Ubuntu VM
steps:
#haal de code uit de repository
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js voor frontend
uses: actions/setup-node@v4
with:
node-version: "20"
- name: Installeer frontend dependencies
working-directory: client
run: npm install
- name: Build frontend
working-directory: client
run: npm run build
- name: Build the Docker image
run: docker build . --file Dockerfile --tag my-image-name:$(date +%s)