summaryrefslogtreecommitdiffstats
path: root/jjb
diff options
context:
space:
mode:
Diffstat (limited to 'jjb')
-rw-r--r--jjb/externalapi/externalapi-nbi.yaml2
-rw-r--r--jjb/global-templates-c.yaml32
-rw-r--r--jjb/global-templates-docker.yaml133
-rw-r--r--jjb/global-templates-java.yaml79
-rw-r--r--jjb/global-templates-script.yaml46
-rw-r--r--jjb/multicloud/multicloud-k8s-kud-deployment.yaml15
-rw-r--r--jjb/multicloud/multicloud-k8s.yaml5
-rw-r--r--jjb/policy/policy-docker-base-common.yaml61
8 files changed, 322 insertions, 51 deletions
diff --git a/jjb/externalapi/externalapi-nbi.yaml b/jjb/externalapi/externalapi-nbi.yaml
index b758ba5a4..66bb307f2 100644
--- a/jjb/externalapi/externalapi-nbi.yaml
+++ b/jjb/externalapi/externalapi-nbi.yaml
@@ -23,7 +23,7 @@
container-staging-registry: 'nexus3.onap.org:10003'
mvn-params: '-Dmaven.test.skip=true -P docker'
- '{project-name}-gerrit-release-jobs':
- build-node: centos7-builder-4c-4g
+ build-node: centos7-docker-8c-8g
project: 'externalapi/nbi'
stream:
- 'master':
diff --git a/jjb/global-templates-c.yaml b/jjb/global-templates-c.yaml
index 38a06ce34..0df129366 100644
--- a/jjb/global-templates-c.yaml
+++ b/jjb/global-templates-c.yaml
@@ -101,35 +101,3 @@
settings-file: '{mvn-settings}'
- docker-login
- shell: '{script}'
-
-- job-template:
- #
- # job template for build project executed every 6hrs
- #
- # Required Variables:
- # script: build script to execute
- name: '{name}-{stream}-shell-6hrs'
- node: '{build-node}'
- type: freestyle
-
- parameters:
- - lf-infra-parameters:
- branch: '{branch}'
- project: '{project}'
- stream: '{stream}'
- lftools-version: '{lftools-version}'
-
- scm:
- - gerrit-trigger-scm:
- refspec: '$GERRIT_REFSPEC'
- submodule-recursive: '{submodule-recursive}'
- choosing-strategy: 'gerrit'
-
- triggers:
- - timed: '00 */6 * * *'
-
- builders:
- - shell: '{script}'
-
- publishers:
- - lf-infra-publish
diff --git a/jjb/global-templates-docker.yaml b/jjb/global-templates-docker.yaml
index 1c8242f32..eecedd464 100644
--- a/jjb/global-templates-docker.yaml
+++ b/jjb/global-templates-docker.yaml
@@ -771,4 +771,137 @@
- '{parent_job}'
result: 'success'
+- job-template:
+ # Job template for creating a docker manifest list
+ #
+ # The purpose of this job template is to run:
+ # 1. docker_push_manifest.sh script (which needs to exist in the
+ # project implementation repo)
+
+ name: '{project-name}-docker-manifest-{stream}'
+ <<: *docker_job_boiler_plate
+ node: '{build-node}'
+ build-timeout: 15
+
+ parameters:
+ - lf-infra-parameters:
+ project: '{project}'
+ stream: '{stream}'
+ branch: '{branch}'
+ - string:
+ name: PARENT_JOB_NAME
+ default: 'none'
+
+ disabled: '{obj:disabled}'
+
+ scm:
+ - lf-infra-gerrit-scm:
+ jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ git-url: '$GIT_URL/$PROJECT'
+ refspec: '$GERRIT_REFSPEC'
+ branch: '$GERRIT_BRANCH'
+ submodule-recursive: true
+ submodule-disable: '{submodule-disable}'
+ submodule-timeout: '{submodule-timeout}'
+ choosing-strategy: default
+
+
+ builders:
+ - lf-infra-docker-login:
+ global-settings-file: 'global-settings'
+ settings-file: '{mvn-settings}'
+ - shell: |
+ #!/bin/bash -ex
+ export PARENT_JOB_NAME
+ ./docker_push_manifest.sh
+
+- job-template:
+ # Job template for staging jobs on multiple architectures
+ #
+ # The purpose of this job template is to:
+ # 1. Run parallel maven-docker-stage jobs for each supported architecure
+ # 2. Build and push a docker manifest list for the images created by
+ # the previous jobs
+
+ name: '{project-name}-multiarch-docker-stage-{stream}'
+ node: '{build-node}'
+ project-type: multijob
+ disabled: '{obj:disabled}'
+ build-timeout: 15
+ pattern: '**'
+
+ parameters:
+ - lf-infra-parameters:
+ project: '{project}'
+ stream: '{stream}'
+ branch: '{branch}'
+ - string:
+ name: DOCKER_REGISTRY
+ default: 'none'
+ - string:
+ name: DOCKERHUB_REGISTRY
+ default: 'registry-1.docker.io'
+
+ disabled: '{obj:disabled}'
+
+ properties:
+ - throttle:
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - '{project-name}-.*-docker-.*'
+ blocking-level: 'NODE'
+
+ scm:
+ - lf-infra-gerrit-scm:
+ jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ git-url: '$GIT_URL/$PROJECT'
+ refspec: '$GERRIT_REFSPEC'
+ branch: '$GERRIT_BRANCH'
+ submodule-recursive: true
+ submodule-timeout: 10
+ submodule-disable: false
+ choosing-strategy: default
+ triggers:
+ - timed: '@daily'
+ - gerrit:
+ server-name: '{gerrit-server-name}'
+ trigger-on:
+ - comment-added-contains-event:
+ comment-contains-value: '^Patch Set\s+\d+:\s+stage-(docker-)?release\s*$'
+
+ projects:
+ - project-compare-type: ANT
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: ANT
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: "**"
+
+ builders:
+ - multijob:
+ name: 'build docker images'
+ condition: ALWAYS
+ execution-type: PARALLEL
+ projects:
+ - name: '{project-name}-amd64-maven-docker-stage-{stream}'
+ kill-phase-on: FAILURE
+ current-parameters: true
+ - name: '{project-name}-arm64-maven-docker-stage-{stream}'
+ kill-phase-on: NEVER
+ current-parameters: true
+ - multijob:
+ name: 'publish docker manifest'
+ condition: SUCCESSFUL
+ execution-type: PARALLEL
+ projects:
+ - name: '{project-name}-docker-manifest-{stream}'
+ current-parameters: true
+ predefined-parameters: |
+ PARENT_JOB_NAME=$JOB_NAME
+ DOCKERHUB_REGISTRY=docker.io
diff --git a/jjb/global-templates-java.yaml b/jjb/global-templates-java.yaml
index c589fbae8..d6104d808 100644
--- a/jjb/global-templates-java.yaml
+++ b/jjb/global-templates-java.yaml
@@ -613,6 +613,9 @@
builders:
- lf-infra-pre-build
+ - lf-infra-docker-login:
+ global-settings-file: 'global-settings'
+ settings-file: '{mvn-settings}'
- provide-maven-settings:
global-settings-file: 'global-settings'
settings-file: '{mvn-settings}'
@@ -1369,3 +1372,79 @@
# use default as mvn-profile if profile is not needed
mvn-profile: '{mvn-profile}'
mvn-params: ''
+
+- job-template:
+ # Job template for Java merge jobs on multiple architectures
+ #
+ # The purpose of this job template is to:
+ # 1. Run parallel {project-name}-{stream}-verify-java jobs for each supported architecture
+ # 2. Build and push a docker manifest list for the images created by
+ # the previous jobs
+
+ name: '{project-name}-multiarch-{stream}-merge-java'
+ node: '{build-node}'
+ project-type: multijob
+ disabled: '{obj:disabled}'
+ pattern: '**'
+
+ parameters:
+ - lf-infra-parameters:
+ project: '{project}'
+ stream: '{stream}'
+ branch: '{branch}'
+ - string:
+ name: DOCKER_REGISTRY
+ default: 'none'
+ - string:
+ name: DOCKERHUB_REGISTRY
+ default: 'registry-1.docker.io'
+
+ properties:
+ - throttle:
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - '{project-name}-.*-merge-.*'
+ blocking-level: 'NODE'
+
+ scm:
+ - gerrit-trigger-scm:
+ refspec: ''
+ choosing-strategy: 'default'
+ submodule-recursive: '{submodule-recursive}'
+
+ wrappers:
+ - infra-wrappers:
+ build-timeout: '{build-timeout}'
+
+ triggers:
+ - gerrit-trigger-patch-merged:
+ server: '{server-name}'
+ project: '{project}'
+ branch: '{branch}'
+ files: '{pattern}'
+
+ builders:
+ - multijob:
+ name: 'build docker images'
+ condition: ALWAYS
+ execution-type: PARALLEL
+ projects:
+ - name: '{project-name}-amd64-{stream}-merge-java'
+ kill-phase-on: FAILURE
+ current-parameters: true
+ - name: '{project-name}-arm64-{stream}-merge-java'
+ kill-phase-on: NEVER
+ current-parameters: true
+ - multijob:
+ name: 'publish docker manifest'
+ condition: SUCCESSFUL
+ execution-type: PARALLEL
+ projects:
+ - name: '{project-name}-docker-manifest-{stream}'
+ current-parameters: true
+ predefined-parameters: |
+ PARENT_JOB_NAME=$JOB_NAME
+ DOCKERHUB_REGISTRY=docker.io
diff --git a/jjb/global-templates-script.yaml b/jjb/global-templates-script.yaml
index fcbf745fc..e6f074407 100644
--- a/jjb/global-templates-script.yaml
+++ b/jjb/global-templates-script.yaml
@@ -2,6 +2,52 @@
# vim: sw=2 ts=2 sts=2 et :
- job-template:
+ #
+ # job template for verifying gerrit changeset by shell script
+ #
+ # Required Variables:
+ # project-name: name of project
+ # area: area of project covered with this verification job
+ # project: name of scm repository to work on
+ # stream: name of stream used (set the same as branch if you're not sure)
+ # branch: git branch to work on
+ # script: build script to execute
+ # Optional Variables:
+ # pattern: trigger job only if modification covered file in pattern
+ # build-node: label(flavor) of jenkins slave
+ name: '{project-name}-{stream}-{area}-verify-shell'
+ node: '{build-node}'
+ type: freestyle
+
+ pattern: '**'
+
+ parameters:
+ - lf-infra-parameters:
+ branch: '{branch}'
+ project: '{project}'
+ stream: '{stream}'
+ lftools-version: '{lftools-version}'
+
+ scm:
+ - gerrit-trigger-scm:
+ refspec: '$GERRIT_REFSPEC'
+ submodule-recursive: '{submodule-recursive}'
+ choosing-strategy: 'gerrit'
+
+ triggers:
+ - gerrit-trigger-patch-submitted:
+ server: '{server-name}'
+ project: '{project}'
+ branch: '{branch}'
+ files: '{pattern}'
+
+ builders:
+ - shell: '{script}'
+
+ publishers:
+ - lf-infra-publish
+
+- job-template:
# Job template for merging a submission. triggered on
# gerrit-trigger-patch-merged, does scm, mvn with passed-in goals, then
# run script
diff --git a/jjb/multicloud/multicloud-k8s-kud-deployment.yaml b/jjb/multicloud/multicloud-k8s-kud-deployment.yaml
deleted file mode 100644
index d5334647d..000000000
--- a/jjb/multicloud/multicloud-k8s-kud-deployment.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
----
-- project:
- name: multicloud-k8s-kud-deployment
- project: 'multicloud/k8s'
- build-node: ubuntu1604-builder-4c-4g
- kud_build_script: !include-raw-escape: kud-deployment.sh
-
- stream:
- - 'master':
- branch: 'master'
-
- jobs:
- - '{name}-{stream}-shell-6hrs':
- script: '{kud_build_script}'
-
diff --git a/jjb/multicloud/multicloud-k8s.yaml b/jjb/multicloud/multicloud-k8s.yaml
index 4d368afbc..914c2bdac 100644
--- a/jjb/multicloud/multicloud-k8s.yaml
+++ b/jjb/multicloud/multicloud-k8s.yaml
@@ -11,6 +11,11 @@
- '{project-name}-{stream}-docker-golang-shell-daily':
script:
!include-raw-escape: 'build-multicloud-k8s-docker-image.sh'
+ - '{project-name}-{stream}-{area}-verify-shell':
+ area: kud-deployment
+ script:
+ !include-raw-escape: 'kud-deployment.sh'
+ build-node: ubuntu1604-builder-4c-4g
project: 'multicloud/k8s'
subproject:
- validation-scripts:
diff --git a/jjb/policy/policy-docker-base-common.yaml b/jjb/policy/policy-docker-base-common.yaml
index 4551f15c8..42f7f6bef 100644
--- a/jjb/policy/policy-docker-base-common.yaml
+++ b/jjb/policy/policy-docker-base-common.yaml
@@ -1,6 +1,6 @@
---
- project:
- name: policy-docker-base-common
+ name: policy-docker-base-common-elalto
project-name: 'policy-docker'
jobs:
- '{project-name}-{stream}-verify-java'
@@ -20,8 +20,6 @@
project: 'policy/docker'
stream:
- - 'master':
- branch: 'master'
- 'elalto':
branch: 'elalto'
mvn-settings: 'policy-docker-settings'
@@ -30,6 +28,63 @@
build-node: ubuntu1604-builder-4c-4g
- project:
+ name: policy-docker-base-common
+ project-name: 'policy-docker'
+ jobs:
+ - '{project-name}-{stream}-verify-java'
+ - '{project-name}-{stream}-merge-java':
+ project-name: 'policy-docker-amd64'
+ docker-pom: 'pom.xml'
+ mvn-profile: 'docker'
+ mvn-params: '-P docker -Ddocker.pull.registry=docker.io -Ddocker.push.registry=registry-1.docker.io'
+ build-node: ubuntu1604-docker-8c-8g
+ pattern: 'do_not_match_any_file'
+ - '{project-name}-{stream}-merge-java':
+ project-name: 'policy-docker-arm64'
+ docker-pom: 'pom.xml'
+ mvn-profile: 'docker'
+ mvn-params: '-P docker -Ddocker.pull.registry=docker.io -Ddocker.push.registry=registry-1.docker.io'
+ build-node: ubuntu1604-docker-arm64-4c-2g
+ pattern: 'do_not_match_any_file'
+ - '{project-name}-multiarch-{stream}-merge-java'
+ - gerrit-maven-docker-stage:
+ project-name: 'policy-docker-arm64'
+ build-node: ubuntu1604-docker-arm64-4c-2g
+ maven-versions-plugin: true
+ mvn-params: '-P docker -Dmaven.test.skip=true -Ddocker.pull.registry=docker.io -Ddocker.push.registry=registry-1.docker.io'
+ container-public-registry: 'docker.io'
+ container-staging-registry: 'docker.io'
+ cron: ''
+ gerrit_trigger_file_paths:
+ - compare-type: REG_EXP
+ pattern: 'do_not_match_any_file'
+ - gerrit-maven-docker-stage:
+ project-name: 'policy-docker-amd64'
+ build-node: ubuntu1604-docker-8c-8g
+ maven-versions-plugin: true
+ mvn-params: '-P docker -Dmaven.test.skip=true -Ddocker.pull.registry=docker.io -Ddocker.push.registry=registry-1.docker.io'
+ container-public-registry: 'docker.io'
+ container-staging-registry: 'docker.io'
+ cron: ''
+ gerrit_trigger_file_paths:
+ - compare-type: REG_EXP
+ pattern: 'do_not_match_any_file'
+ - '{project-name}-docker-manifest-{stream}':
+ build-node: ubuntu1604-docker-8c-8g
+ - '{project-name}-multiarch-docker-stage-{stream}'
+# - '{project-name}-gerrit-release-jobs':
+# build-node: centos7-builder-4c-4g
+
+ project: 'policy/docker'
+ stream:
+ - 'master':
+ branch: 'master'
+ mvn-settings: 'policy-docker-settings'
+ files: '**'
+ archive-artifacts: ''
+ build-node: ubuntu1604-builder-4c-4g
+
+- project:
name: policy-docker-sonar
jobs:
- gerrit-maven-sonar