Files
docs.waku.org/Jenkinsfile
T
jakub 58394dec00 feat: use two deploy branches for CI builds
This way we have two branches on GitHub that reflect the state of the
website after CI build has finished and pushed. See README.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-02-20 10:18:26 +01:00

57 lines
1.1 KiB
Groovy

#!/usr/bin/env groovy
library 'status-jenkins-lib@v1.8.8'
pipeline {
agent { label 'linux' }
options {
disableConcurrentBuilds()
/* manage how many builds we keep */
buildDiscarder(logRotator(
numToKeepStr: '20',
daysToKeepStr: '30',
))
}
environment {
GIT_COMMITTER_NAME = 'status-im-auto'
GIT_COMMITTER_EMAIL = 'auto@status.im'
}
stages {
stage('Install') {
steps {
sh 'yarn install'
}
}
stage('Build') {
steps { script {
sh 'yarn build'
jenkins.genBuildMetaJSON('build/build.json')
} }
}
stage('Publish') {
steps {
sshagent(credentials: ['status-im-auto-ssh']) {
sh """
ghp-import \
-b ${deployBranch()} \
-c ${deployDomain()} \
-p build
"""
}
}
}
}
post {
cleanup { cleanWs() }
}
}
def isMasterBranch() { GIT_BRANCH ==~ /.*master/ }
def deployBranch() { isMasterBranch() ? 'deploy-master' : 'deploy-develop' }
def deployDomain() { isMasterBranch() ? 'docs.waku.org' : 'dev-docs.waku.org' }