pipeline { agent { label 'prod' // Runs on a node labeled 'prod' } stages { stage('Clean Old Container') { steps { script { catchError(buildResult: 'SUCCESS', message: 'Container doesn\'t exist on host, skipping...', stageResult: 'ABORTED') { sh 'docker stop game-pod1' sh 'docker rm game-pod1' } } } } stage('Remove Old Image') { steps { script { catchError(buildResult: 'SUCCESS', message: 'Image doesn\'t exist, skipping...', stageResult: 'ABORTED') { sh 'docker rmi git.ruff.co.il/amai.ig/otomai:latest' } } } } stage('Run new container in Production') { steps { script { // Define registry credentials and image name def registryCredentialsId = '7e506860-ca64-47bd-92a8-1a591dd12cba' def imageName = 'git.ruff.co.il/amai.ig/otomai:latest' // Login to registry and run container in prod environment docker.withRegistry('https://git.ruff.co.il', registryCredentialsId) { docker.image(imageName).run('-p 22443:80 --name game-pod1') } } } } } }