Jenkins en docker ?!

This commit is contained in:
2025-01-11 01:25:31 +01:00
parent 826da5440c
commit 219f6ee46b

61
Jenkinsfile vendored
View File

@@ -5,7 +5,6 @@ pipeline {
tools { tools {
nodejs "nodejs" nodejs "nodejs"
dockerTool "docker"
} }
environment { environment {
@@ -33,37 +32,37 @@ pipeline {
} }
} }
stage('Build Docker Image') { // stage('Build Docker Image') {
steps { // steps {
script { // script {
// Bouw het Docker image // // Bouw het Docker image
sh 'systemctl start docker' // sh 'systemctl start docker'
sh 'docker build -t weetikveel .' // sh 'docker build -t weetikveel .'
} // }
} // }
} // }
stage('Deploy to TrueNAS') { // stage('Deploy to TrueNAS') {
steps { // steps {
script { // script {
// SSH naar TrueNAS en stop de oude container (indien nodig) // // SSH naar TrueNAS en stop de oude container (indien nodig)
sh """ // sh """
ssh -i $TRUENAS_SSH_KEY $TRUENAS_SSH_USER@$TRUENAS_HOST 'docker stop $DOCKER_IMAGE_NAME || true && docker rm $DOCKER_IMAGE_NAME || true' // 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) // // 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 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. // 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 // // Deploy het Docker image naar TrueNAS via SSH
sh """ // sh """
ssh -i $TRUENAS_SSH_KEY $TRUENAS_SSH_USER@$TRUENAS_HOST ' // ssh -i $TRUENAS_SSH_KEY $TRUENAS_SSH_USER@$TRUENAS_HOST '
docker pull $TRUENAS_HOST/$DOCKER_IMAGE_NAME && // docker pull $TRUENAS_HOST/$DOCKER_IMAGE_NAME &&
docker run -d -p 80:80 --name $DOCKER_IMAGE_NAME $TRUENAS_HOST/$DOCKER_IMAGE_NAME // docker run -d -p 80:80 --name $DOCKER_IMAGE_NAME $TRUENAS_HOST/$DOCKER_IMAGE_NAME
' // '
""" // """
} // }
} // }
} // }
} }
post { post {