From bda6930fcbfaba888909d1946fbc23706600057a Mon Sep 17 00:00:00 2001 From: mohamed kandil Date: Thu, 14 Feb 2019 13:22:34 +0200 Subject: [PATCH 1/4] Add initial Jenkinsfile --- Jenkinsfile | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000000..03bfec8cc5 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,15 @@ +pipeline { + agent { + docker { + image 'node:6-alpine' + args '-p 3000:3000' + } + } + stages{ + stage('Build'){ + steps { + sh 'npm install' + } + } + } +} From 7505456c02ac64884206c12a1d54457d993dcb6f Mon Sep 17 00:00:00 2001 From: mohamed kandil Date: Thu, 14 Feb 2019 13:40:47 +0200 Subject: [PATCH 2/4] update docker user engine to be root --- Jenkinsfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Jenkinsfile b/Jenkinsfile index 03bfec8cc5..49a00b6758 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -3,6 +3,7 @@ pipeline { docker { image 'node:6-alpine' args '-p 3000:3000' + args '-u root' } } stages{ From 09831e3bd7d1c4c44db4dd99eb1de382ed27c08e Mon Sep 17 00:00:00 2001 From: mohamed kandil Date: Thu, 14 Feb 2019 16:41:01 +0200 Subject: [PATCH 3/4] update test part --- Jenkinsfile | 8 ++++++++ jenkins/scripts/test.sh | 2 +- package.json | 4 ++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 49a00b6758..3f89275a6f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -6,11 +6,19 @@ pipeline { args '-u root' } } + environment { + CI = 'true' + } stages{ stage('Build'){ steps { sh 'npm install' } } + stage('Test'){ + steps { + sh './jenkins/scripts/test.sh' + } + } } } diff --git a/jenkins/scripts/test.sh b/jenkins/scripts/test.sh index 360d00b94e..6789ebcef0 100755 --- a/jenkins/scripts/test.sh +++ b/jenkins/scripts/test.sh @@ -10,7 +10,7 @@ echo 'installing this dependency, it would typically be done so using this' echo 'flag. For a comprehensive explanation about "devDependencies", see' echo 'https://stackoverflow.com/questions/18875674/whats-the-difference-between-dependencies-devdependencies-and-peerdependencies.' set -x -# npm install --save-dev cross-env +npm install --save-dev cross-env set +x echo 'The following "npm" command tests that your simple Node.js/React' diff --git a/package.json b/package.json index 53720bdbbb..6368a0ce41 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "scripts": { "start": "react-scripts start", "build": "react-scripts build", - "test": "react-scripts test --env=jsdom", + "test": "cross-env CI=true react-scripts test --env=jsdom", "eject": "react-scripts eject" } -} \ No newline at end of file +} From 993a23051296a592a361a3e544990832ce0b3515 Mon Sep 17 00:00:00 2001 From: mohamed kandil Date: Thu, 14 Feb 2019 17:07:14 +0200 Subject: [PATCH 4/4] Add 'Deliver' stage --- Jenkinsfile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index 3f89275a6f..9512461b64 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -20,5 +20,12 @@ pipeline { sh './jenkins/scripts/test.sh' } } + stage('Deliver'){ + steps{ + sh './jenkins/scripts/deliver.sh' + input message: 'Finished using the web site? (Click "Proceed" to continue)' + sh './jenkins/scripts/kill.sh' + } + } } }