{\rtf1\ansi\ansicpg1252\cocoartf2707
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
{\*\expandedcolortbl;;}
\paperw11900\paperh16840\margl1440\margr1440\vieww11520\viewh8400\viewkind0
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0

\f0\fs24 \cf0 # File: Jenkinsfile\
\
pipeline \{\
    agent any\
\
    stages \{\
        stage("Checkout code") \{\
            steps \{\
                checkout scm\
            \}\
        \}\
\
        stage("Build and test") \{\
            steps \{\
                sh "./mvnw clean install"\
            \}\
        \}\
\
        stage("Build Docker Image") \{\
            steps \{\
                sh "docker build -t myapp:$\{env.BUILD_NUMBER\}" .\
            \}\
        \}\
\
        stage("Push Docker Image") \{\
            steps \{\
                withCredentials([usernamePassword(credentialsId: "dockerhub", passwordVariable: "DOCKER_PASSWORD", usernameVariable: "DOCKER_USERNAME")]) \{\
                    sh "docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD"\
                    sh "docker push myapp:$\{env.BUILD_NUMBER\}"\
                \}\
            \}\
        \}\
\
        stage("Deploy to production") \{\
            when \{\
                branch "master"\
            \}\
            steps \{\
                sh "./kubectl apply -f deployment.yml"\
            \}\
        \}\
    \}\
\}\
}