diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..b5c3805 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,76 @@ +pipeline { + agent { + dockerfile true + } + + tools { + nodejs "nodejs" + maven "mvn" + } + + environment { + DOCKER_IMAGE_NAME = "paypoint-backend" + DOCKER_REGISTRY = "veenm" // Optioneel als je Docker image naar Docker Hub wilt pushen + TRUENAS_HOST = "192.168.2.31:9000" // IP-adres van TrueNAS + TRUENAS_SSH_USER = "jenkins" // Gebruiker voor SSH + TRUENAS_SSH_KEY = credentials('ssh-true-nas') // Voeg een SSH-sleutel toe in Jenkins credentials + } + + stages { + stage('Checkout') { + steps { + git 'https://git.melvanveen.nl/veenm/paypoint-backend.git' // Vervang door jouw repository URL + } + } + + stage('Build Quarkus') { + steps { + script { + // Installeer de Angular dependencies en bouw de app + sh './mvnw package' + } + } + } + +// stage('Build Docker Image') { +// steps { +// script { +// // Bouw het Docker image +// sh 'systemctl start docker' +// sh 'docker build -t weetikveel .' +// } +// } +// } + +// stage('Deploy to TrueNAS') { +// steps { +// script { +// // SSH naar TrueNAS en stop de oude container (indien nodig) +// sh """ +// ssh -i $TRUENAS_SSH_KEY $TRUENAS_SSH_USER@$TRUENAS_HOST 'docker stop $DOCKER_IMAGE_NAME || true && docker rm $DOCKER_IMAGE_NAME || true' +// """ +// // Push het Docker image naar TrueNAS (optioneel als je een registry gebruikt) +// sh 'docker tag $DOCKER_IMAGE_NAME $TRUENAS_HOST/$DOCKER_IMAGE_NAME' +// sh 'docker push $TRUENAS_HOST/$DOCKER_IMAGE_NAME' // Alleen als je Docker Hub gebruikt, of een lokaal registry. +// +// // Deploy het Docker image naar TrueNAS via SSH +// sh """ +// ssh -i $TRUENAS_SSH_KEY $TRUENAS_SSH_USER@$TRUENAS_HOST ' +// docker pull $TRUENAS_HOST/$DOCKER_IMAGE_NAME && +// docker run -d -p 80:80 --name $DOCKER_IMAGE_NAME $TRUENAS_HOST/$DOCKER_IMAGE_NAME +// ' +// """ +// } +// } +// } + } + + post { + success { + echo "Deployment succesvol!" + } + failure { + echo "Er is een fout opgetreden tijdens de deployment." + } + } +}