diff --git a/Dockerfile b/Dockerfile index 0ae1a8c..b11074b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,2 +1,2 @@ FROM httpd:latest -COPY ./game-data/ /usr/local/apache2/htdocs +COPY ./game-data/ /usr/local/apache2/htdocs \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile index cf4384a..cb9a07e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -57,7 +57,7 @@ pipeline { } stage('Clean Old Container') { steps { - catchError(buildResult: 'SUCCESS',message: 'Container doesn\'t exist on host, skipping...', stageResult: 'ABORTED') { + catchError(buildResult: 'SUCCESS', message: 'Container doesn\'t exist on host, skipping...', stageResult: 'ABORTED') { sh 'docker stop otomai' sh 'docker rm otomai' } @@ -80,4 +80,14 @@ pipeline { } } } + post { + success { + // Trigger the deploy-prod-job on success of the build + build job: 'otomai-prod', wait: false + } + failure { + // Optionally, you can handle failure scenarios (e.g., notify team, etc.) + echo "Build failed, deployment not triggered." + } + } } diff --git a/Jenkinsfile-prod b/Jenkinsfile-prod new file mode 100644 index 0000000..bb99871 --- /dev/null +++ b/Jenkinsfile-prod @@ -0,0 +1,31 @@ +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('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') + } + } + } + } + } +} \ No newline at end of file