39 lines
No EOL
953 B
Groovy
39 lines
No EOL
953 B
Groovy
node {
|
|
def app
|
|
|
|
stage('Clone repository') {
|
|
/* Let's make sure we have the repository cloned to our workspace */
|
|
|
|
checkout scm
|
|
}
|
|
|
|
stage('Build image') {
|
|
/* This builds the actual image; synonymous to
|
|
* docker build on the command line */
|
|
|
|
app = docker.build("thisfro/plantex")
|
|
}
|
|
|
|
stage('Test image') {
|
|
/* Ideally, we would run a test framework against our image.
|
|
* For this example, we're using a Volkswagen-type approach ;-) */
|
|
|
|
app.inside {
|
|
// php 'bin/phpunit'
|
|
sh 'echo "success"'
|
|
}
|
|
}
|
|
|
|
stage('Push image') {
|
|
docker.withRegistry('https://hub.thisfro.ch') {
|
|
app.push("$BUILD_NUMBER")
|
|
app.push('latest')
|
|
}
|
|
}
|
|
|
|
stage('Deploy staging') {
|
|
sh 'cd /opt/containers/pflaenz.li'
|
|
sh 'docker-compose pull'
|
|
sh 'docker-compose up -d'
|
|
}
|
|
} |