From d4cc7942d4a7aef36cdab830c29aa829f1111c5b Mon Sep 17 00:00:00 2001 From: Matthew Baggett Date: Mon, 24 Jun 2019 17:17:04 +0200 Subject: [PATCH] Rewriting jenkinsfile to suit new makefile --- Jenkinsfile | 293 +++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 243 insertions(+), 50 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 419578c..70e855e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -13,64 +13,168 @@ pipeline { } } stage('Build Marshall') { - steps { - sh 'make build-marshall' + parallel { + stage('Marshall') { + agent { node { label 'x86' } } + when { not { branch 'master' } } + steps { + sh 'make build-marshall' + } + } + stage('Marshall') { + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-marshall' + sh 'make push-marshall' + } + } } } stage('Build PHP Runtime Containers'){ parallel { stage('PHP 5.6'){ agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-php-core-5.6' + sh 'make push-core-5.6' + } + } + stage('PHP 5.6'){ + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-php-core-5.6' + sh 'make push-core-5.6' } } stage('PHP 7.0'){ agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-php-core-7.0' } } + stage('PHP 7.0'){ + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-php-core-7.0' + sh 'make push-core-7.0' + } + } stage('PHP 7.1'){ agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-php-core-7.1' } } + stage('PHP 7.1'){ + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-php-core-7.1' + sh 'make push-core-7.1' + } + } stage('PHP 7.2'){ agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-php-core-7.2' } } + stage('PHP 7.2'){ + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-php-core-7.2' + sh 'make push-core-7.2' + } + } stage('PHP 7.3'){ agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-php-core-7.3' } } + stage('PHP 7.3'){ + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-php-core-7.3' + sh 'make push-core-7.3' + } + } stage('Node 8'){ agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-node-8' + sh 'make tag-node-8' + } + } + stage('Node 8'){ + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-node-8' + sh 'make tag-node-8' + sh 'make push-node-8' } } stage('Node 10'){ agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-node-10' + sh 'make tag-node-10' + } + } + stage('Node 10'){ + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-node-10' + sh 'make tag-node-10' + sh 'make push-node-10' } } stage('Node 11'){ agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-node-11' + sh 'make tag-node-11' + } + } + stage('Node 11'){ + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-node-11' + sh 'make tag-node-11' + sh 'make push-node-11' } } stage('Node 12'){ agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-node-12' + sh 'make tag-node-12' + } + } + stage('Node 12'){ + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-node-12' + sh 'make tag-node-12' + sh 'make push-node-12' } } } @@ -79,131 +183,231 @@ pipeline { parallel { stage('CLI PHP 5.6') { agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-php-cli-5.6' } } + stage('CLI PHP 5.6') { + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-php-cli-5.6' + sh 'make push-cli-5.6' + } + } stage('Nginx PHP 5.6') { agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-php-nginx-5.6' } } + stage('Nginx PHP 5.6') { + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-php-nginx-5.6' + sh 'make push-nginx-5.6' + } + } stage('Apache PHP 5.6') { agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-php-apache-5.6' } } - + stage('Apache PHP 5.6') { + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-php-apache-5.6' + sh 'make push-apache-5.6' + } + } + stage('CLI PHP 7.0') { agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-php-cli-7.0' } } + stage('CLI PHP 7.0') { + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-php-cli-7.0' + sh 'make push-cli-7.0' + } + } stage('Nginx PHP 7.0') { agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-php-nginx-7.0' } } + stage('Nginx PHP 7.0') { + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-php-nginx-7.0' + sh 'make push-nginx-7.0' + } + } stage('Apache PHP 7.0') { agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-php-apache-7.0' } } + stage('Apache PHP 7.0') { + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-php-apache-7.0' + sh 'make push-apache-7.0' + } + } stage('CLI PHP 7.1') { agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-php-cli-7.1' } } + stage('CLI PHP 7.1') { + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-php-cli-7.1' + sh 'make push-cli-7.1' + } + } stage('Nginx PHP 7.1') { agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-php-nginx-7.1' } } + stage('Nginx PHP 7.1') { + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-php-nginx-7.1' + sh 'make push-nginx-7.1' + } + } stage('Apache PHP 7.1') { agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-php-apache-7.1' } } + stage('Apache PHP 7.1') { + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-php-apache-7.1' + sh 'make push-apache-7.1' + } + } stage('CLI PHP 7.2') { agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-php-cli-7.2' } } + stage('CLI PHP 7.2') { + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-php-cli-7.2' + sh 'make push-cli-7.2' + } + } stage('Nginx PHP 7.2') { agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-php-nginx-7.2' } } + stage('Nginx PHP 7.2') { + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-php-nginx-7.2' + sh 'make push-nginx-7.2' + } + } stage('Apache PHP 7.2') { agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-php-apache-7.2' } } + stage('Apache PHP 7.2') { + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-php-apache-7.2' + sh 'make push-apache-7.2' + } + } stage('CLI PHP 7.3') { agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-php-cli-7.3' } } + stage('CLI PHP 7.3') { + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-php-cli-7.3' + sh 'make push-cli-7.3' + } + } stage('Nginx PHP 7.3') { agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-php-nginx-7.3' } } + stage('Nginx PHP 7.3') { + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make build-php-nginx-7.3' + sh 'make push-nginx-7.3' + } + } stage('Apache PHP 7.3') { agent { node { label 'x86' } } + when { not { branch 'master' } } steps { sh 'make build-php-apache-7.3' } } - } - } - - stage('Tag Containers'){ - parallel { - stage('Core') { + stage('Apache PHP 7.3') { agent { node { label 'x86' } } + when { branch 'master' } steps { - sh 'make tag-php-core' - } - } - stage('CLI') { - agent { node { label 'x86' } } - steps { - sh 'make tag-php-cli' - } - } - stage('Nginx') { - agent { node { label 'x86' } } - steps { - sh 'make tag-nginx' - } - } - stage('Apache') { - agent { node { label 'x86' } } - steps { - sh 'make tag-apache' - } - } - stage('Node') { - agent { node { label 'x86' } } - steps { - sh 'make tag-node' + sh 'make build-php-apache-7.3' + sh 'make push-apache-7.3' } } } @@ -234,22 +438,11 @@ pipeline { } } - stage('Push Containers'){ - parallel { - stage('Push') { - agent { node { label 'x86' } } - when { branch 'master' } - steps { - sh 'make push-marshall' - sh 'make push-core' - sh 'make push-cli' - sh 'make push-nginx' - sh 'make push-apache' - sh 'make push-node' - sh 'make aliases' - telegramSend 'Updated Base Images have been pushed' - } - } + stage('Aliases'){ + agent { node { label 'x86' } } + when { branch 'master' } + steps { + sh 'make aliases' } } }