properties([
parameters([
- string(defaultValue: env.GERRIT_BRANCH, description: '', name: 'GERRIT_BRANCH'),
- string(defaultValue: env.GERRIT_PROJECT, description: '', name: 'GERRIT_PROJECT'),
+ string(defaultValue: env.BRANCH_NAME, description: '', name: 'GERRIT_BRANCH'),
+ string(defaultValue: 'test', description: '', name: 'GERRIT_PROJECT'),
string(defaultValue: env.GERRIT_REFSPEC, description: '', name: 'GERRIT_REFSPEC'),
string(defaultValue: env.GERRIT_PATCHSET_REVISION, description: '', name: 'GERRIT_PATCHSET_REVISION'),
+ string(defaultValue: 'https://osm.etsi.org/gerrit', description: '', name: 'PROJECT_URL_PREFIX'),
+ booleanParam(defaultValue: true, description: '', name: 'BUILD_SYSTEM'),
])
])
-
-def Get_MDG(project) {
- // split the project.
- def values = project.split('/')
- if ( values.size() > 1 ) {
- return values[1]
- }
- // no prefix, likely just the project name then
- return project
-}
-
-def project_checkout() {
- // checkout the project
- git url: "https://osm.etsi.org/gerrit/${GERRIT_PROJECT}"
-
- sh "git fetch origin ${GERRIT_REFSPEC}"
- if (GERRIT_PATCHSET_REVISION.size() > 0 ) {
- sh "git checkout -f ${GERRIT_PATCHSET_REVISION}"
- }
-}
-
def devops_checkout() {
dir('devops') {
- git url: 'https://osm.etsi.org/gerrit/osm/devops'
+ git url: "${PROJECT_URL_PREFIX}/osm/devops"
}
}
node {
- mdg = Get_MDG("${GERRIT_PROJECT}")
- println("MDG is ${mdg}")
-
- if ( env.GERRIT_EVENT_TYPE != null ) {
- // pipeline running from gerrit trigger.
- // kickoff the downstream multibranch pipeline
- def downstream_params = [
- string(name: 'GERRIT_BRANCH', value: GERRIT_BRANCH),
- string(name: 'GERRIT_PROJECT', value: GERRIT_PROJECT),
- string(name: 'GERRIT_REFSPEC', value: GERRIT_REFSPEC),
- string(name: 'GERRIT_PATCHSET_REVISION', value: GERRIT_PATCHSET_REVISION),
- ]
- result = build job: "${mdg}/${GERRIT_BRANCH}", parameters: downstream_params, propagate: true
- if (result.getResult() != 'SUCCESS') {
- project = result.getProjectName()
- build = result.getNumber()
- error("${project} build ${build} failed")
- }
- }
- else {
- stage('Prepare') {
- sh 'env'
- devops_checkout()
- }
-
- stage('Checkout') {
- project_checkout()
- }
-
- container_name = "${GERRIT_PROJECT}-${GERRIT_BRANCH}"
-
- stage('Docker-Build') {
- sh "docker build -t ${container_name} ."
- }
-
- withDockerContainer("${container_name}") {
- stage('Docker-Setup') {
- sh '''
- groupadd -o -g $(id -g) -r jenkins
- useradd -o -u $(id -u) --create-home -r -g jenkins jenkins
- '''
- }
- stage('Test') {
- sh 'devops-stages/stage-test.sh'
- }
- stage('Build') {
- sh 'devops-stages/stage-build.sh'
- }
- stage('Archive') {
- sh 'devops-stages/stage-archive.sh'
- archiveArtifacts artifacts: "dists/**,pool/${mdg}/*.deb", fingerprint: true
- }
- }
- }
+ checkout scm
+ devops_checkout()
+
+ ci_stage_2 = load "devops/jenkins/ci-pipelines/ci_stage_2.groovy"
+ ci_stage_2.ci_pipeline( 'test',
+ params.PROJECT_URL_PREFIX,
+ params.GERRIT_PROJECT,
+ params.GERRIT_BRANCH,
+ params.GERRIT_REFSPEC,
+ params.GERRIT_PATCHSET_REVISION,
+ params.BUILD_SYSTEM)
}