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.withDockerRegistry('https://hub.thisfro.ch') {
app.push("$BUILD_NUMBER")
app.push('latest')
stage('Deploy staging') {
sh 'docker-compose --project-directory /opt/containers/pflaenz.li --file /opt/containers/pflaenz.li/docker-compose.yml up -d'