From 0506ac022d88fa035f4feee04c53ff5b7d2de95f Mon Sep 17 00:00:00 2001 From: Masbrou Studio <127388410+masbroustudio@users.noreply.github.com> Date: Fri, 19 Jan 2024 15:44:51 +0700 Subject: [PATCH 1/2] Use scripted pipelines --- Jenkinsfile | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 000000000..3b42b0b63 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,10 @@ +node { + docker.image('node:16-buster-slim').inside('-p 3000:3000') { + stage('Build') { + sh 'npm install' + } + stage('Test') { + sh './jenkins/scripts/test.sh' + } + } +} From 46c96a470d4cee3c75793075ca4cdcd51b6597b4 Mon Sep 17 00:00:00 2001 From: Masbrou Studio <127388410+masbroustudio@users.noreply.github.com> Date: Wed, 24 Jan 2024 16:04:50 +0700 Subject: [PATCH 2/2] Update Jenkinsfile with Deploy stage --- Jenkinsfile | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 3b42b0b63..34c0128d8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,10 +1,35 @@ -node { - docker.image('node:16-buster-slim').inside('-p 3000:3000') { +pipeline { + agent { + docker { + image 'node:16-buster-slim' + args '-p 3000:3000' + } + } + environment { + CI = 'true' + } + stages { stage('Build') { - sh 'npm install' + steps { + sh 'npm install' + } } stage('Test') { - sh './jenkins/scripts/test.sh' + steps { + sh './jenkins/scripts/test.sh' + } + } + stage('Manual Approval') { + steps { + input message: 'Lanjutkan ke tahap Deploy? (klik "Proceed" (melanjutkan eksekusi pipeline ke tahap Deploy) atau "Abort" (menghentikan eksekusi pipeline))' + } + } + stage('Deploy') { + steps { + sh './jenkins/scripts/deliver.sh' + sleep 60 + sh './jenkins/scripts/kill.sh' + } } } }