pipeline { agent any options { buildDiscarder(logRotator(numToKeepStr: '5')) } environment { DOCKERHUB_CREDENTIALS = credentials('dockerhub') } stages { stage('Build') { steps { sh 'whoami' sh 'docker build -t buzzerburger/test:latest ./app' } } stage('test') { steps { sh 'docker run --name shankar -d buzzerburger/test' sh 'docker exec -it shankar php artisan test' sh 'docker rm shankar -f' } } stage('Login') { steps { sh 'echo $DOCKERHUB_CREDENTIALS_PSW | docker login -u $DOCKERHUB_CREDENTIALS_USR --password-stdin' } } stage('Push') { steps { sh 'docker push buzzerburger/test:latest' } } } post { always { sh 'docker logout' sh 'docker rmi buzzerburger/test' } } }