40 lines
846 B
Groovy
40 lines
846 B
Groovy
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 -d --name shankar buzzerburger/test'
|
|
sh 'docker exec 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'
|
|
}
|
|
}
|
|
}
|
|
post {
|
|
always {
|
|
sh 'docker logout'
|
|
sh 'docker rmi buzzerburger/test'
|
|
}
|
|
}
|
|
} |