/ Jenkinsfile
Jenkinsfile
1 pipeline { 2 agent { label 'linux' } 3 4 options { 5 disableConcurrentBuilds() 6 /* manage how many builds we keep */ 7 buildDiscarder(logRotator( 8 numToKeepStr: '20', 9 daysToKeepStr: '30', 10 )) 11 } 12 13 environment { 14 GIT_COMMITTER_NAME = 'status-im-auto' 15 GIT_COMMITTER_EMAIL = 'auto@status.im' 16 /* dev page settings */ 17 DEV_SITE = 'dev-js.waku.guide' 18 DEV_HOST = 'jenkins@node-01.do-ams3.sites.misc.statusim.net' 19 SCP_OPTS = 'StrictHostKeyChecking=no' 20 } 21 22 stages { 23 stage('Build') { 24 steps { 25 sh "hugo ${env.GIT_BRANCH ==~ /.*master/ ? '' : "-b https://${DEV_SITE}"}" 26 } 27 } 28 29 stage('Publish Prod') { 30 when { expression { env.GIT_BRANCH ==~ /.*master/ } } 31 steps { 32 sshagent(credentials: ['status-im-auto-ssh']) { 33 sh "ghp-import -p public" 34 } 35 } 36 } 37 38 stage('Publish Devel') { 39 when { expression { env.GIT_BRANCH ==~ /.*develop/ } } 40 steps { 41 sshagent(credentials: ['jenkins-ssh']) { 42 sh """ 43 rsync -e 'ssh -o ${SCP_OPTS}' -r --delete public/. \ 44 ${env.DEV_HOST}:/var/www/${env.DEV_SITE}/ 45 """ 46 } 47 } 48 } 49 } 50 }