Compare commits

3 Commits

Author SHA1 Message Date
9ca282ca3f deploy to test toegevoegd
Some checks failed
Increase Version / trigger-pipeline-b (push) Has been cancelled
Increase Version / bump-version (push) Has been cancelled
Docker Image CI / deploy (push) Has been cancelled
Docker Image CI / build-and-push (push) Has been cancelled
2025-03-13 21:56:51 +01:00
c14328a4bb Merge remote-tracking branch 'origin/main'
Some checks failed
Docker Image CI / deploy (push) Has been cancelled
Docker Image CI / build-and-push (push) Has been cancelled
Increase Version / trigger-pipeline-b (push) Has been cancelled
Increase Version / bump-version (push) Has been cancelled
2025-03-13 21:52:00 +01:00
f5e52b58e0 staging voor tst en develop toegevoegd 2025-03-13 21:51:54 +01:00
6 changed files with 136 additions and 3 deletions

View File

@@ -0,0 +1,85 @@
name: Docker Image CI
on:
push:
branches:
- develop
tags:
- "docker-build-*"
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
# Stap 1: Code ophalen
- uses: actions/checkout@v4
# Stap 2: Versienummer ophalen uit package.json en opslaan als artifact
- name: Extract Angular version
run: |
echo "$(cat package.json | jq -r '.version')" > version.txt
- name: Save version as artifact
uses: actions/upload-artifact@v3
with:
name: version
path: version.txt
# Stap 3: Inloggen bij Docker Hub
- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
# Stap 4: Docker-image bouwen en taggen met Angular-versie
- name: Build the Docker image
run: |
VERSION=$(cat version.txt)
docker buildx build . --file Dockerfile-tst --tag veenm/paypoint:$VERSION-SNAPSHOT --platform linux/amd64
# Stap 5: Docker-image pushen naar Docker Hub (huidige versie tag)
- name: Push the Docker image (version-snapshot)
run: |
VERSION=$(cat version.txt)
docker push veenm/paypoint:$VERSION-SNAPSHOT
deploy:
needs: build-and-push
runs-on: ubuntu-latest
steps:
# Stap 1: Artifact ophalen
- name: Download version artifact
uses: actions/download-artifact@v3
with:
name: version
# Stap 2: Lees versie uit het artifact
- name: Read version
id: read_version
run: echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
# Stap 3: Maak verbinding via SSH naar de Alpine server en update de container
- name: SSH into Alpine and update Docker container
uses: appleboy/ssh-action@v0.1.10
with:
host: ${{ secrets.ALPINE_HOST }}
username: ${{ secrets.ALPINE_USER }}
password: ${{ secrets.ALPINE_PASSWORD }}
script: |
VERSION=${{ env.VERSION }}
echo "Gekozen versie: $VERSION-SNAPSHOT"
# Stop en verwijder de huidige container
docker stop paypoint || true
docker rm paypoint || true
# Haal de nieuwste image binnen
docker pull veenm/paypoint:$VERSION-SNAPSHOT
# Start een nieuwe container
docker run -d --name paypoint --restart unless-stopped -p 15001:80 veenm/paypoint:$VERSION-SNAPSHOT
# Opruimen oude images
docker image prune -f

22
Dockerfile-tst Normal file
View File

@@ -0,0 +1,22 @@
# Gebruik een multi-architecture versie van Node
FROM node:23.0.0 as build
WORKDIR /app
COPY package*.json ./
RUN npm install
RUN npm install -g @angular/cli
COPY . .
RUN ng build --configuration=production
# Gebruik een multi-architecture versie van Nginx
FROM nginx:latest
# Kopieer de gecompileerde bestanden van Angular naar de Nginx-webserver
COPY --from=build app/dist/pay-point/browser /usr/share/nginx/html
EXPOSE 80

View File

@@ -53,8 +53,8 @@
"budgets": [
{
"type": "initial",
"maximumWarning": "500kB",
"maximumError": "1MB"
"maximumWarning": "500MB",
"maximumError": "1000MB"
},
{
"type": "anyComponentStyle",
@@ -67,7 +67,21 @@
"development": {
"optimization": false,
"extractLicenses": false,
"sourceMap": true
"sourceMap": true,
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.development.ts"
}
]
},
"test": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.test.ts"
}
]
}
},
"defaultConfiguration": "production"

View File

@@ -0,0 +1,4 @@
export const environment = {
baseApi: 'http://localhost:8080/api',
production: false
};

View File

@@ -0,0 +1,4 @@
export const environment = {
baseApi: 'http://localhost:8080/api',
production: false
};

View File

@@ -0,0 +1,4 @@
export const environment = {
baseApi: 'https://api.melvanveen.nl/api',
production: true
};