# Continuous Integration for O-RAN SC at LF
-This repo contains configuration files for Jenkins jobs for the O-RAN
-SC project.
+This repo contains configuration files for Jenkins jobs for the
+O-RAN SC project.
-## Custom JJB templates for Docker Java projects
+## Defaults.yaml
-Custom JJB templates are defined for projects that use Maven to
-compile Java code and build a Docker image. These projects should use
-the following jobs in the project.yaml file::
+To avoid repetition, many required configuration parameter values
+are defined in the defaults.yaml file.
- jobs:
- - gerrit-maven-docker-verify
- - gerrit-maven-docker-merge
- - gerrit-maven-docker-stage
+## Custom JJB templates for Docker CI PackageCloud projects
+
+Custom JJB templates are defined for projects that use Docker to
+compile code and build DEB/RPM packages, then push the packages to
+PackageCloud.io. These projects should use the following jobs in
+their respective project.yaml file::
+ jobs:
+ - gerrit-docker-verify
+ - oran-gerrit-docker-ci-pc-merge
## Testing the templates
+++ /dev/null
-# Copyright (c) 2019 AT&T Intellectual Property.
-# Copyright (c) 2019 Nokia.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-FROM python:3.7-alpine
-
-RUN apk update && \
- apk add \
- alpine-sdk \
- autoconf \
- automake \
- build-base \
- cmake \
- git \
- libtool \
- ninja
-
-WORKDIR /tmp/
-
-# the autoconf-archive in alpine's edge repos is too new
-# for our purposes, so we'll use one from the source.
-RUN git clone --branch v2015.09.25 git://git.sv.gnu.org/autoconf-archive.git
-RUN cp /tmp/autoconf-archive/m4/* /usr/share/aclocal
-RUN rm -rf /tmp/autoconf-archive
-
-RUN git clone --branch v1.1.1 https://github.com/nanomsg/nng
-WORKDIR /tmp/nng
-RUN mkdir /tmp/nng/build
-WORKDIR /tmp/nng/build
-RUN cmake -DBUILD_SHARED_LIBS=1 -G Ninja ..
-RUN ninja
-RUN ninja install
-WORKDIR /tmp/
-RUN rm -rf /tmp/nng
+++ /dev/null
----
-tag: 1-py3.7-nng1.1.1
name: ci-docker-common
# git repo
project: ci-management
- build-node: ubuntu1804-docker-4c-4g
- container-public-registry: nexus3.o-ran-sc.org:10001
- # use the staging repo bcos all builds are RCs
- container-push-registry: nexus3.o-ran-sc.org:10004
+ # maven settings file has docker credentials
+ mvn-settings: ci-management-settings
+ # build every Saturday
+ cron: 'H H * * 6'
# use host network to clone from our gerrit
docker-build-args: '--network=host'
# default to YAML
container-tag-method: yaml-file
- # build every Saturday
- cron: 'H H * * 6'
- # maven settings file has docker credentials
- mvn-settings: ci-management-settings
+ jobs:
+ - '{project-name}-gerrit-docker-jobs'
stream:
- master:
branch: master
gerrit_trigger_file_paths:
- compare-type: REG_EXP
pattern: 'docker/{name}/.*'
- jobs:
- - '{project-name}-gerrit-docker-jobs'
- project:
<<: *ci_docker_common
gerrit_trigger_file_paths:
- compare-type: REG_EXP
pattern: 'docker/{name}/.*'
- jobs:
- - '{project-name}-gerrit-docker-jobs'
- project:
<<: *ci_docker_common
gerrit_trigger_file_paths:
- compare-type: REG_EXP
pattern: 'docker/{name}/.*'
- jobs:
- - '{project-name}-gerrit-docker-jobs'
views:
- project-view
+- project:
+ name: com-asn1-info
+ project: com/asn1
+ project-name: com-asn1
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
+
- asn1_docker_common: &asn1_docker_common
- # values apply to all RIC docker-build projects.
- # factored out in case this needs multiple projects.
- # use a specific name to prevent reuse attempts
- # bcos anchors don't cross document boundaries.
+ # values for ASN1 docker projects
name: asn1-docker-common
- build-node: ubuntu1804-docker-4c-4g
- # pull from the public mirror + releases registry
- container-public-registry: nexus3.o-ran-sc.org:10001
- # push to the staging repo bcos all builds are RCs
- container-push-registry: nexus3.o-ran-sc.org:10004
- stream:
- - master:
- branch: master
-
-- project:
- name: com-asn1
# git repo
project: com/asn1
# jenkins job name prefix
- project-name: '{name}'
- # use host network to clone from our gerrit
- docker-build-args: '--network=host -f ci/Dockerfile'
+ project-name: com-asn1
+ # maven settings file has docker credentials
+ mvn-settings: com-asn1-settings
+
+- project:
+ <<: *asn1_docker_common
+ name: com-asn1
# image name
docker-name: '{name}'
+ # use host network to clone from our gerrit
+ docker-build-args: '--network=host -f ci/Dockerfile'
# image tag, use a fixed value
container-tag-method: latest
- # maven settings file has docker credentials
- mvn-settings: com-asn1-settings
jobs:
# verify only; no merge bcos no image is pushed
- gerrit-docker-verify
- <<: *asn1_docker_common
-
-- project:
- name: com-asn1-info
- project: com/asn1
- project-name: com-asn1
- build-node: centos7-builder-1c-1g
-
- jobs:
- - gerrit-info-yaml-verify
+ stream:
+ - master:
+ branch: master
views:
- project-view
+- project:
+ name: com-log-info
+ project: com/log
+ project-name: com-log
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
+
- log_docker_common: &log_docker_common
- # values apply to all RIC docker-build projects.
- # factored out in case log needs multiple projects.
- # use a specific name to prevent reuse attempts
- # bcos anchors don't cross document boundaries.
+ # values apply to all com/log docker projects
name: log-docker-common
- build-node: ubuntu1804-docker-4c-4g
- # pull from the public mirror + releases registry
- container-public-registry: nexus3.o-ran-sc.org:10001
- # push to the staging repo bcos all builds are RCs
- container-push-registry: nexus3.o-ran-sc.org:10004
- stream:
- - master:
- branch: master
-
-- project:
- name: com-log
# git repo
project: com/log
# jenkins job name prefix
- project-name: '{name}'
+ project-name: com-log
+ # maven settings file has docker credentials
+ mvn-settings: com-log-settings
+
+- project:
+ <<: *log_docker_common
+ name: com-log
# use host network to clone from our gerrit
docker-build-args: '--network=host -f ci/Dockerfile'
# image name
docker-name: '{name}'
# image tag, use a fixed value
container-tag-method: latest
- # maven settings file has docker credentials
- mvn-settings: com-log-settings
jobs:
- gerrit-docker-verify
- oran-gerrit-docker-ci-pc-merge
- <<: *log_docker_common
-
-- project:
- name: com-log-info
- project: com/log
- project-name: com-log
- build-node: centos7-builder-1c-1g
- jobs:
- - gerrit-info-yaml-verify
+ stream:
+ - master:
+ branch: master
archive-artifacts: ''
+ # most jobs invoke docker
+ build-node: ubuntu1804-docker-4c-4g
+
# Nexus3 docker registries
container-public-registry: nexus3.o-ran-sc.org:10001
container-snapshot-registry: nexus3.o-ran-sc.org:10003
container-staging-registry: nexus3.o-ran-sc.org:10004
+ # templates use the push registry key;
+ # counter-intuitively, the quotes here are REQUIRED
+ container-push-registry: '{container-staging-registry}'
- # Default java version
- java-version: openjdk8
-
+ # Don't define default java version here,
+ # it will not be used by lf-maven-jobs.
# Default maven version
mvn-version: mvn35
# Default maven goals
- gerrit-info-yaml-verify
- it_dep_common: &it_dep_common
- # values apply to all RIC docker-build projects.
- # use a specific name to prevent reuse attempts
- # bcos anchors don't cross document boundaries.
+ # values apply to all it/dep docker projects
name: it-dep-docker-common
- build-node: ubuntu1804-docker-4c-4g
- # pull from the public mirror + releases registry
- container-public-registry: nexus3.o-ran-sc.org:10001
- # push to the staging repo bcos all builds are RCs
- container-push-registry: nexus3.o-ran-sc.org:10004
+ # git repo
+ project: it/dep
# maven settings file has docker credentials
mvn-settings: it-dep-settings
# use host network to clone from our gerrit
branch: master
- project:
+ <<: *it_dep_common
# Verify helm charts using a Docker build process.
# no image needs to be pushed, so there is no merge job.
name: it-dep-helm
- # git repo
- project: it/dep
# jenkins job name prefix
project-name: '{name}'
# image name
container-tag-method: latest
jobs:
- gerrit-docker-verify
- <<: *it_dep_common
- project:
+ <<: *it_dep_common
name: it-dep-secret
- # git repo
- project: it/dep
# jenkins job name prefix
project-name: '{name}'
# image name
pattern: '{docker-root}/.*'
jobs:
- '{project-name}-gerrit-docker-jobs'
- <<: *it_dep_common
- project:
+ <<: *it_dep_common
name: it-dep-init
- # git repo
- project: it/dep
# jenkins job name prefix
project-name: '{name}'
# image name
docker-name: '{name}'
# root of docker build
docker-root: ric-common/Initcontainer/docker
- # maven settings file has docker credentials
gerrit_trigger_file_paths:
- compare-type: REG_EXP
pattern: '{docker-root}/.*'
jobs:
- '{project-name}-gerrit-docker-jobs'
- <<: *it_dep_common
- gerrit-info-yaml-verify
- it_test_common: &it_test_common
- # values apply to all RIC docker-build projects.
- # use a specific name to prevent reuse attempts
- # bcos anchors don't cross document boundaries.
+ # values apply to all it/test docker projects
name: it-test-docker-common
- build-node: ubuntu1804-docker-4c-4g
- # pull from the public mirror + releases registry
- container-public-registry: nexus3.o-ran-sc.org:10001
- # push to the staging repo bcos all builds are RCs
- container-push-registry: nexus3.o-ran-sc.org:10004
- # use host network to clone from our gerrit
- docker-build-args: '--network=host'
+ # git repo
+ project: it/test
# source of docker tag
container-tag-method: yaml-file
+ # use host network to clone from our gerrit
+ docker-build-args: '--network=host'
+ # maven settings file has docker credentials
+ mvn-settings: it-test-settings
+ jobs:
+ - '{project-name}-gerrit-docker-jobs'
stream:
- master:
branch: master
- project:
+ <<: *it_test_common
name: it-test-nanobot
- # git repo
- project: it/test
# jenkins job name prefix
project-name: '{name}'
# image name
docker-build-args: -f docker/nanobot/Dockerfile
# tag file is in subdir
container-tag-yaml-dir: ric_robot_suite/docker/nanobot
- # maven settings file has docker credentials
- mvn-settings: it-test-settings
# build only on relevant changes
gerrit_trigger_file_paths:
- compare-type: REG_EXP
- pattern: 'ric_robot_suite/.*'
- jobs:
- - '{project-name}-gerrit-docker-jobs'
- <<: *it_test_common
+ pattern: '{docker-root}/.*'
- project:
+ <<: *it_test_common
name: it-test-ric-robot
- # git repo
- project: it/test
# jenkins job name prefix
project-name: '{name}'
# image name
docker-build-args: -f docker/ric-robot/Dockerfile
# tag file is in subdir
container-tag-yaml-dir: ric_robot_suite/docker/ric-robot
- # maven settings file has docker credentials
- mvn-settings: it-test-settings
# build only on relevant changes
gerrit_trigger_file_paths:
- compare-type: REG_EXP
- pattern: 'ric_robot_suite/.*'
- jobs:
- - '{project-name}-gerrit-docker-jobs'
- <<: *it_test_common
+ pattern: '{docker-root}/.*'
- project-view
- project:
- name: portal-ric-dashboard-project
- # jenkins job name prefix
+ name: portal-ric-dashboard-info
+ project: portal/ric-dashboard
project-name: portal-ric-dashboard
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
+
+- portal_ric_dashboard_common: &portal_ric_dashboard_common
+ # values apply to all projects here
+ name: portal-ric-dashboard-common
# git repo
project: portal/ric-dashboard
+ # jenkins job name prefix
+ project-name: portal-ric-dashboard
+ # maven settings file has docker credentials
mvn-settings: portal-ric-dashboard-settings
- mvn-params: -Dbuild.number=${{BUILD_NUMBER}}
+ # defaults.yaml value is NOT used due to value set in lf-maven-jobs.yaml
java-version: openjdk11
- build-node: ubuntu1804-docker-4c-4g
+
+- project:
+ <<: *portal_ric_dashboard_common
+ name: portal-ric-dashboard-project
+ mvn-params: -Dbuild.number=${{BUILD_NUMBER}}
jobs:
- gerrit-maven-docker-verify
- gerrit-maven-docker-merge
branch: master
- project:
+ <<: *portal_ric_dashboard_common
name: portal-ric-dashboard-clm
- project-name: portal-ric-dashboard
- project: portal/ric-dashboard
mvn-goals: test
- mvn-settings: portal-ric-dashboard-settings
- java-version: openjdk11
branch: master
- build-node: ubuntu1804-docker-4c-4g
nexus-iq-namespace: 'oran-'
jobs:
- gerrit-maven-clm
- project:
+ <<: *portal_ric_dashboard_common
name: portal-ric-dashboard-sonar
- project-name: portal-ric-dashboard
- project: portal/ric-dashboard
mvn-goals: test
- mvn-settings: portal-ric-dashboard-settings
- java-version: openjdk11
branch: master
- build-node: ubuntu1804-docker-4c-4g
sonarcloud: true
sonarcloud-project-key: o-ran-sc_portal-ric-dashboard
sonarcloud-project-organization: o-ran-sc
sonarcloud-api-token: d9e23c28dc39b6d7531d2ecabf122ce84e6253ef
jobs:
- gerrit-maven-sonar
-
-- project:
- name: portal-ric-dashboard-info
- project: portal/ric-dashboard
- project-name: portal-ric-dashboard
- build-node: centos7-builder-1c-1g
- jobs:
- - gerrit-info-yaml-verify
views:
- project-view
+- project:
+ name: ric-app-admin-info
+ project: ric-app/admin
+ project-name: ric-app-admin
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
+
- admin_docker_common: &admin_docker_common
- # values apply to all RIC docker-build projects.
- # factored out in case ric-app-admin needs multiple projects.
- # use a specific name to prevent reuse attempts
- # bcos anchors don't cross document boundaries.
+ # values apply to all admin docker projects
name: admin-docker-common
- build-node: ubuntu1804-docker-4c-4g
- # pull from the public mirror + releases registry
- container-public-registry: nexus3.o-ran-sc.org:10001
- # push to the staging repo bcos all builds are RCs
- container-push-registry: nexus3.o-ran-sc.org:10004
- # use host network to clone from our gerrit
- docker-build-args: '--network=host'
- # source of docker tag
- container-tag-method: yaml-file
- stream:
- - master:
- branch: master
-
-- project:
- name: ric-app-admin
# git repo
project: ric-app/admin
# jenkins job name prefix
- project-name: '{name}'
- # image name
- docker-name: '{name}'
+ project-name: ric-app-admin
# maven settings file has docker credentials
mvn-settings: ric-app-admin-settings
- jobs:
- - '{project-name}-gerrit-docker-jobs'
- <<: *admin_docker_common
- project:
- name: ric-app-admin-info
- project: ric-app/admin
- project-name: ric-app-admin
- build-node: centos7-builder-1c-1g
-
+ <<: *admin_docker_common
+ name: ric-app-admin
+ # image name
+ docker-name: '{name}'
+ # source of docker tag
+ container-tag-method: yaml-file
+ # use host network to clone from our gerrit
+ docker-build-args: '--network=host'
jobs:
- - gerrit-info-yaml-verify
+ - '{project-name}-gerrit-docker-jobs'
+ stream:
+ - master:
+ branch: master
views:
- project-view
-- mc: &mc_docker_common
- # values apply to all RIC docker-build projects.
- # factored out in case ric-app-mc needs multiple projects.
- # use a specific name to prevent reuse attempts
- # bcos anchors don't cross document boundaries.
- name: mc-docker-common
- build-node: ubuntu1804-docker-4c-4g
- # pull from the public mirror + releases registry
- container-public-registry: nexus3.o-ran-sc.org:10001
- # push to the staging repo bcos all builds are RCs
- container-push-registry: nexus3.o-ran-sc.org:10004
- # use host network to clone from our gerrit
- docker-build-args: '--network=host'
- # source of docker tag
- container-tag-method: yaml-file
- stream:
- - master:
- branch: master
-
- project:
- name: ric-app-mc
+ name: ric-app-mc-info
+ project: ric-app/mc
+ project-name: ric-app-mc
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
+
+- mc_docker_common: &mc_docker_common
+ # values apply to all MC projects
+ name: mc-docker-common
# git repo
project: ric-app/mc
# jenkins job name prefix
- project-name: '{name}'
- # image name
- docker-name: '{name}'
+ project-name: ric-app-mc
# maven settings file has docker credentials
mvn-settings: ric-app-mc-settings
- jobs:
- - '{project-name}-gerrit-docker-jobs'
- <<: *mc_docker_common
- project:
- name: ric-app-mc-info
- project: ric-app/mc
- project-name: ric-app-mc
- build-node: centos7-builder-1c-1g
+ <<: *mc_docker_common
+ name: ric-app-mc
+ # image name
+ docker-name: '{name}'
+ # source of docker tag
+ container-tag-method: yaml-file
+ # use host network to clone from our gerrit
+ docker-build-args: '--network=host'
jobs:
- - gerrit-info-yaml-verify
+ - '{project-name}-gerrit-docker-jobs'
+ stream:
+ - master:
+ branch: master
views:
- project-view
+- project:
+ name: ric-plt-a1-info
+ project: ric-plt/a1
+ project-name: ric-plt-a1
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
+
- a1_docker_common: &a1_docker_common
- # values apply to all RIC docker-build projects.
- # factored out in case a1 needs multiple projects.
- # use a specific name to prevent reuse attempts
- # bcos anchors don't cross document boundaries.
+ # values apply to all A1 docker projects
name: a1-docker-common
- build-node: ubuntu1804-docker-4c-4g
- # pull from the public mirror + releases registry
- container-public-registry: nexus3.o-ran-sc.org:10001
- # push to the staging repo bcos all builds are RCs
- container-push-registry: nexus3.o-ran-sc.org:10004
- # use host network to clone from our gerrit
- docker-build-args: '--network=host'
- # source of docker tag
- container-tag-method: yaml-file
- stream:
- - master:
- branch: master
-
-- project:
- name: ric-plt-a1
# git repo
project: ric-plt/a1
# jenkins job name prefix
- project-name: '{name}'
- # image name
- docker-name: '{name}'
+ project-name: ric-plt-a1
# maven settings file has docker credentials
mvn-settings: ric-plt-a1-settings
- jobs:
- - gerrit-python-xc-clm
- - '{project-name}-gerrit-docker-jobs'
- <<: *a1_docker_common
- project:
- name: ric-plt-a1-info
- project: ric-plt/a1
- project-name: ric-plt-a1
- build-node: centos7-builder-1c-1g
-
+ <<: *a1_docker_common
+ name: ric-plt-a1
+ # image name
+ docker-name: '{name}'
+ # source of docker tag
+ container-tag-method: yaml-file
+ # use host network to clone from our gerrit
+ docker-build-args: '--network=host'
jobs:
- - gerrit-info-yaml-verify
+ - gerrit-python-xc-clm
+ - '{project-name}-gerrit-docker-jobs'
+ stream:
+ - master:
+ branch: master
views:
- project-view
+- project:
+ name: ric-plt-appmgr-info
+ project: ric-plt/appmgr
+ project-name: ric-plt-appmgr
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
+
- appmgr_docker_common: &appmgr_docker_common
- # values apply to all RIC docker-build projects.
- # factored out in case appmgr needs multiple projects.
- # use a specific name to prevent reuse attempts
- # bcos anchors don't cross document boundaries.
+ # values apply to all appmgr docker projects
name: appmgr-docker-common
- build-node: ubuntu1804-docker-4c-4g
- # pull from the public mirror + releases registry
- container-public-registry: nexus3.o-ran-sc.org:10001
- # push to the staging repo bcos all builds are RCs
- container-push-registry: nexus3.o-ran-sc.org:10004
- # use host network to clone from our gerrit
- docker-build-args: '--network=host'
- # source of docker tag
- container-tag-method: yaml-file
- stream:
- - master:
- branch: master
-
-- project:
- name: ric-plt-appmgr
# git repo
project: ric-plt/appmgr
# jenkins job name prefix
- project-name: '{name}'
- # image name
- docker-name: '{name}'
+ project-name: ric-plt-appmgr
# maven settings file has docker credentials
mvn-settings: ric-plt-appmgr-settings
- jobs:
- - '{project-name}-gerrit-docker-jobs'
- <<: *appmgr_docker_common
- project:
- name: ric-plt-appmgr-info
- project: ric-plt/appmgr
- project-name: ric-plt-appmgr
- build-node: centos7-builder-1c-1g
-
+ <<: *appmgr_docker_common
+ name: ric-plt-appmgr
+ # image name
+ docker-name: '{name}'
+ # source of docker tag
+ container-tag-method: yaml-file
+ # use host network to clone from our gerrit
+ docker-build-args: '--network=host'
jobs:
- - gerrit-info-yaml-verify
+ - '{project-name}-gerrit-docker-jobs'
+ stream:
+ - master:
+ branch: master
views:
- project-view
+- project:
+ name: ric-plt-dbaas-info
+ project: ric-plt/dbaas
+ project-name: ric-plt-dbaas
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
+
- dbaas_docker_common: &dbaas_docker_common
- # values apply to all RIC docker-build projects.
- # factored out in case this needs multiple projects.
- # use a specific name to prevent reuse attempts
- # bcos anchors don't cross document boundaries.
+ # values apply to all dbaas docker projects
name: dbaas-docker-common
- build-node: ubuntu1804-docker-4c-4g
- # pull from the public mirror + releases registry
- container-public-registry: nexus3.o-ran-sc.org:10001
- # push to the staging repo bcos all builds are RCs
- container-push-registry: nexus3.o-ran-sc.org:10004
- # source of docker tag
- container-tag-method: yaml-file
- stream:
- - master:
- branch: master
-
-- project:
- name: ric-plt-dbaas
# git repo
project: ric-plt/dbaas
# jenkins job name prefix
- project-name: '{name}'
+ project-name: ric-plt-dbaas
+ # maven settings file has docker credentials
+ mvn-settings: ric-plt-dbaas-settings
+
+- project:
+ <<: *dbaas_docker_common
+ name: ric-plt-dbaas
# image name
docker-name: '{name}'
# Specify docker file and host network
docker-build-args: '--network=host -f docker/Dockerfile.redis'
- # maven settings file has docker credentials
- mvn-settings: ric-plt-dbaas-settings
+ # source of docker tag
+ container-tag-method: yaml-file
jobs:
- '{project-name}-gerrit-docker-jobs'
- <<: *dbaas_docker_common
-
-- project:
- name: ric-plt-dbaas-info
- project: ric-plt/dbaas
- project-name: ric-plt-dbaas
- build-node: centos7-builder-1c-1g
-
- jobs:
- - gerrit-info-yaml-verify
+ stream:
+ - master:
+ branch: master
views:
- project-view
+- project:
+ name: ric-plt-e2-info
+ project: ric-plt/e2
+ project-name: ric-plt-e2
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
+
- e2_docker_common: &e2_docker_common
- # values apply to all RIC docker-build projects.
- # factored out in case this needs multiple projects.
- # use a specific name to prevent reuse attempts
- # bcos anchors don't cross document boundaries.
+ # values apply to all E2 docker projects
name: e2-docker-common
- build-node: ubuntu1804-docker-4c-4g
- # pull from the public mirror + releases registry
- container-public-registry: nexus3.o-ran-sc.org:10001
- # push to the staging repo bcos all builds are RCs
- container-push-registry: nexus3.o-ran-sc.org:10004
- # use host network to clone from our gerrit
- docker-build-args: '--network=host'
- # source of docker tag
- container-tag-method: yaml-file
- stream:
- - master:
- branch: master
-
-- project:
- name: ric-plt-e2
# git repo
project: ric-plt/e2
# jenkins job name prefix
- project-name: '{name}'
+ project-name: ric-plt-e2
+ # maven settings file has docker credentials
+ mvn-settings: ric-plt-e2-settings
+
+- project:
+ <<: *e2_docker_common
+ name: ric-plt-e2
# image name
docker-name: '{name}'
# subdirectory
docker-root: RIC-E2-TERMINATION
- # maven settings file has docker credentials
- mvn-settings: ric-plt-e2-settings
+ # source of docker tag
+ container-tag-method: yaml-file
+ # use host network to clone from our gerrit
+ docker-build-args: '--network=host'
jobs:
- '{project-name}-gerrit-docker-jobs'
- <<: *e2_docker_common
-
-- project:
- name: ric-plt-e2-info
- project: ric-plt/e2
- project-name: ric-plt-e2
- build-node: centos7-builder-1c-1g
-
- jobs:
- - gerrit-info-yaml-verify
+ stream:
+ - master:
+ branch: master
views:
- project-view
+- project:
+ name: ric-plt-e2mgr-info
+ project: ric-plt/e2mgr
+ project-name: ric-plt-e2mgr
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
+
- e2mgr_docker_common: &e2mgr_docker_common
- # values apply to all RIC docker-build projects.
- # factored out in case this needs multiple projects.
- # use a specific name to prevent reuse attempts
- # bcos anchors don't cross document boundaries.
+ # values apply to all E2MGR docker projects
name: e2mgr-docker-common
- build-node: ubuntu1804-docker-4c-4g
- # pull from the public mirror + releases registry
- container-public-registry: nexus3.o-ran-sc.org:10001
- # push to the staging repo bcos all builds are RCs
- container-push-registry: nexus3.o-ran-sc.org:10004
- # use host network to clone from our gerrit
- docker-build-args: '--network=host'
- # source of docker tag
- container-tag-method: yaml-file
- stream:
- - master:
- branch: master
-
-- project:
- name: ric-plt-e2mgr
# git repo
project: ric-plt/e2mgr
# jenkins job name prefix
- project-name: '{name}'
- # image name
- docker-name: '{name}'
+ project-name: ric-plt-e2mgr
# maven settings file has docker credentials
mvn-settings: ric-plt-e2mgr-settings
+
+- project:
+ <<: *e2mgr_docker_common
+ name: ric-plt-e2mgr
+ # image name
+ docker-name: '{name}'
# Dockerfile is in a subdir
docker-root: E2Manager
+ # source of docker tag
+ container-tag-method: yaml-file
+ # use host network to clone from our gerrit
+ docker-build-args: '--network=host'
jobs:
- '{project-name}-gerrit-docker-jobs'
- <<: *e2mgr_docker_common
-
-- project:
- name: ric-plt-e2mgr-info
- project: ric-plt/e2mgr
- project-name: ric-plt-e2mgr
- build-node: centos7-builder-1c-1g
-
- jobs:
- - gerrit-info-yaml-verify
+ stream:
+ - master:
+ branch: master
views:
- project-view
+- project:
+ name: ric-plt-lib-rmr-info
+ project: ric-plt/lib/rmr
+ project-name: ric-plt-lib-rmr
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
+
- rmr_docker_common: &rmr_docker_common
- # values apply to all RIC docker-build projects.
- # factored out in case rmr needs multiple projects.
- # use a specific name to prevent reuse attempts
- # because anchors don't cross document boundaries.
+ # values apply to all RMR docker projects
name: rmr-docker-common
- build-node: ubuntu1804-docker-4c-4g
- # pull from the public mirror + releases registry
- container-public-registry: nexus3.o-ran-sc.org:10001
- # push to the staging repo because all builds are RCs
- container-push-registry: nexus3.o-ran-sc.org:10004
- stream:
- - master:
- branch: master
-
-- project:
- name: ric-plt-lib-rmr
# git repo
project: ric-plt/lib/rmr
# jenkins job name prefix
- project-name: '{name}'
- # use host network to clone from our gerrit
- docker-build-args: '--network=host -f ci/Dockerfile'
+ project-name: ric-plt-lib-rmr
+ # maven settings file has docker credentials
+ mvn-settings: ric-plt-lib-rmr-settings
+
+- project:
+ <<: *rmr_docker_common
+ name: ric-plt-lib-rmr
# image name
docker-name: '{name}'
+ # use host network to clone from our gerrit
+ docker-build-args: '--network=host -f ci/Dockerfile'
# image tag; use a fixed value
container-tag-method: latest
- # maven settings file has docker credentials
- mvn-settings: ric-plt-lib-rmr-settings
jobs:
- gerrit-docker-verify
- oran-gerrit-docker-ci-pc-merge
- <<: *rmr_docker_common
-
-- project:
- name: ric-plt-lib-rmr-info
- project: ric-plt/lib/rmr
- project-name: ric-plt-lib-rmr
- build-node: centos7-builder-1c-1g
-
- jobs:
- - gerrit-info-yaml-verify
+ stream:
+ - master:
+ branch: master
views:
- project-view
+- project:
+ name: ric-plt-rtmgr-info
+ project: ric-plt/rtmgr
+ project-name: ric-plt-rtmgr
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
+
- rtmgr_docker_common: &rtmgr_docker_common
- # values apply to all RIC docker-build projects.
- # factored out in case this needs multiple projects.
- # use a specific name to prevent reuse attempts
- # bcos anchors don't cross document boundaries.
+ # values apply to all rtmgr docker projects
name: rtmgr-docker-common
- build-node: ubuntu1804-docker-4c-4g
- # pull from the public mirror + releases registry
- container-public-registry: nexus3.o-ran-sc.org:10001
- # push to the staging repo bcos all builds are RCs
- container-push-registry: nexus3.o-ran-sc.org:10004
- # use host network to clone from our gerrit
- docker-build-args: '--network=host'
- # source of docker tag
- container-tag-method: yaml-file
- stream:
- - master:
- branch: master
-
-- project:
- name: ric-plt-rtmgr
# git repo
project: ric-plt/rtmgr
# jenkins job name prefix
- project-name: '{name}'
- # image name
- docker-name: '{name}'
+ project-name: ric-plt-rtmgr
# maven settings file has docker credentials
mvn-settings: ric-plt-rtmgr-settings
- jobs:
- - '{project-name}-gerrit-docker-jobs'
- <<: *rtmgr_docker_common
- project:
- name: ric-plt-rtmgr-info
- project: ric-plt/rtmgr
- project-name: ric-plt-rtmgr
- build-node: centos7-builder-1c-1g
-
+ <<: *rtmgr_docker_common
+ name: ric-plt-rtmgr
+ # image name
+ docker-name: '{name}'
+ # source of docker tag
+ container-tag-method: yaml-file
+ # use host network to clone from our gerrit
+ docker-build-args: '--network=host'
jobs:
- - gerrit-info-yaml-verify
+ - '{project-name}-gerrit-docker-jobs'
+ stream:
+ - master:
+ branch: master
views:
- project-view
+- project:
+ name: ric-plt-submgr-info
+ project: ric-plt/submgr
+ project-name: ric-plt-submgr
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
+
- submgr_docker_common: &submgr_docker_common
- # values apply to all RIC docker-build projects.
- # factored out in case this needs multiple projects.
- # use a specific name to prevent reuse attempts
- # bcos anchors don't cross document boundaries.
+ # values apply to all submgr docker projects
name: submgr-docker-common
- build-node: ubuntu1804-docker-4c-4g
- # pull from the public mirror + releases registry
- container-public-registry: nexus3.o-ran-sc.org:10001
- # push to the staging repo bcos all builds are RCs
- container-push-registry: nexus3.o-ran-sc.org:10004
- # use host network to clone from our gerrit
- docker-build-args: '--network=host'
- # source of docker tag
- container-tag-method: yaml-file
- stream:
- - master:
- branch: master
-
-- project:
- name: ric-plt-submgr
# git repo
project: ric-plt/submgr
# jenkins job name prefix
- project-name: '{name}'
- # image name
- docker-name: '{name}'
+ project-name: ric-plt-submgr
# maven settings file has docker credentials
mvn-settings: ric-plt-submgr-settings
- jobs:
- - '{project-name}-gerrit-docker-jobs'
- <<: *submgr_docker_common
- project:
- name: ric-plt-submgr-info
- project: ric-plt/submgr
- project-name: ric-plt-submgr
- build-node: centos7-builder-1c-1g
-
+ <<: *submgr_docker_common
+ name: ric-plt-submgr
+ # image name
+ docker-name: '{name}'
+ # source of docker tag
+ container-tag-method: yaml-file
+ # use host network to clone from our gerrit
+ docker-build-args: '--network=host'
jobs:
- - gerrit-info-yaml-verify
+ - '{project-name}-gerrit-docker-jobs'
+ stream:
+ - master:
+ branch: master