name: it-dep-docker-common
# git repo
project: it/dep
+ # jenkins job name prefix
+ project-name: it-dep
# maven settings file has docker credentials
mvn-settings: it-dep-settings
# use host network to clone from our gerrit
# jenkins job name prefix
project-name: '{name}'
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# dockerfile is in subdir
docker-build-args: -f ci/Dockerfile
# any tag will do
# image is not pushed, use trivial tag
container-tag-method: latest
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# use host network for network resources
docker-build-args: '--network=host -f ci/Dockerfile-package'
jobs:
# jenkins job name prefix
project-name: '{name}'
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# root of docker build
docker-root: ric-infra/45-Tiller/docker
# build only on relevant changes
# jenkins job name prefix
project-name: '{name}'
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# root of docker build
docker-root: ric-common/Initcontainer/docker
gerrit_trigger_file_paths:
- compare-type: REG_EXP
pattern: '{docker-root}/.*'
jobs:
- - '{project-name}-gerrit-docker-jobs'
\ No newline at end of file
+ - '{project-name}-gerrit-docker-jobs'
+
+- project:
+ <<: *it_dep_common
+ name: it-dep-release
+ branch: master
+ # maven release requires sigul which requires centos
+ # container release requires docker
+ build-node: centos7-docker-2c-8g
+ jobs:
+ - '{project-name}-gerrit-release-jobs'
+
---
-# 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.
-
- project:
name: it-otf-project-view
project-name: it-otf
name: it-otf-docker-common
# git repo
project: it/otf
+ # jenkins job name prefix
+ project-name: it-otf
# source of docker tag
container-tag-method: yaml-file
# maven settings file has docker credentials
# jenkins job name prefix
project-name: '{name}'
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# start in parent directory with shared files
docker-root: oran-ric-test-head
# dockerfile is in subdir of docker root
# jenkins job name prefix
project-name: '{name}'
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# start in parent directory with shared files
docker-root: otf-frontend
# dockerfile is in subdir of docker root
# jenkins job name prefix
project-name: '{name}'
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# start in parent directory with shared files
docker-root: otf-ping-test-head
# dockerfile is in subdir of docker root
# jenkins job name prefix
project-name: '{name}'
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# start in parent directory with shared files
docker-root: otf-robot-test-head
# dockerfile is in subdir of docker root
# jenkins job name prefix
project-name: '{name}'
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# start in parent directory with shared files
docker-root: otf-ssh-test-head
# dockerfile is in subdir of docker root
# jenkins job name prefix
project-name: '{name}'
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# start in parent directory with shared files
docker-root: otf-camunda
# dockerfile is in subdir of docker root
# jenkins job name prefix
project-name: '{name}'
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# start in parent directory with shared files
docker-root: otf-service-api
# dockerfile is in subdir of docker root
gerrit_trigger_file_paths:
- compare-type: REG_EXP
pattern: '{docker-root}/.*'
+
+- project:
+ <<: *it_otf_common
+ name: it-otf-release
+ branch: master
+ # maven release requires sigul which requires centos
+ # container release requires docker
+ build-node: centos7-docker-2c-8g
+ jobs:
+ - '{project-name}-gerrit-release-jobs'
name: it-test-docker-common
# git repo
project: it/test
+ # jenkins job name prefix
+ project-name: it-test
# source of docker tag
container-tag-method: yaml-file
# use host network to clone from our gerrit
# jenkins job name prefix
project-name: '{name}'
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# start in parent directory with shared files
docker-root: ric_robot_suite
# dockerfile is in subdir of docker root
# jenkins job name prefix
project-name: '{name}'
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# start in parent directory with shared files
docker-root: ric_robot_suite
# dockerfile is in subdir of docker root
gerrit_trigger_file_paths:
- compare-type: REG_EXP
pattern: '{docker-root}/.*'
+
+- project:
+ <<: *it_test_common
+ name: it-test-release
+ branch: master
+ # maven release requires sigul which requires centos
+ # container release requires docker
+ build-node: centos7-docker-2c-8g
+ jobs:
+ - '{project-name}-gerrit-release-jobs'
\ No newline at end of file
- gerrit-maven-docker-stage
stream:
- master:
- branch: master
\ No newline at end of file
+ branch: master
+
+- project:
+ <<: *nonrtric_jdk11
+ name: nonrtric-release
+ branch: master
+ # maven release requires sigul which requires centos
+ # container release requires docker
+ build-node: centos7-docker-2c-8g
+ jobs:
+ - '{project-name}-gerrit-release-jobs'
--- /dev/null
+---
+- project:
+ name: o-du-l2-project-view
+ project-name: o-du-l2
+ views:
+ - project-view
+
+- project:
+ name: o-du-l2-info
+ project: o-du/l2
+ project-name: o-du-l2
+ branch: master
+ jobs:
+ - gerrit-info-yaml-verify
+
+- o_du_l2_common: &o_du_l2_common
+ # values apply to all o-du/l2 docker projects
+ name: o-du-l2-common
+ # git repo
+ project: o-du/l2
+ # jenkins job name prefix
+ project-name: o-du-l2
+ # maven settings file has docker credentials
+ mvn-settings: o-du-l2-settings
+ # source of docker tag
+ container-tag-method: yaml-file
+
+- project:
+ <<: *o_du_l2_common
+ name: o-du-l2
+ # jenkins job name prefix
+ project-name: '{name}'
+ # image name
+ docker-name: 'o-ran-sc/{name}'
+ docker-build-args: '--network=host'
+ jobs:
+ - '{project-name}-gerrit-docker-jobs'
+ stream:
+ - master:
+ branch: master
+
+- project:
+ <<: *o_du_l2_common
+ name: o-du-l2-cu-stub
+ # jenkins job name prefix
+ project-name: '{name}'
+ # image name
+ docker-name: 'o-ran-sc/{name}'
+ docker-build-args: '--network=host -f Dockerfile-cu-stub'
+ jobs:
+ - '{project-name}-gerrit-docker-jobs'
+ stream:
+ - master:
+ branch: master
+
+- project:
+ <<: *o_du_l2_common
+ name: o-du-l2-release
+ branch: master
+ # maven release requires sigul which requires centos
+ # container release requires docker
+ build-node: centos7-docker-2c-8g
+ jobs:
+ - '{project-name}-gerrit-release-jobs'
\ No newline at end of file
disable-job: false
gerrit-skip-vote: false
git-url: '$GIT_URL/$GERRIT_PROJECT'
+ mvn-global-settings: global-settings
stream: master
submodule-disable: false
submodule-recursive: true
jenkins-ssh-credential: '{jenkins-ssh-credential}'
builders:
+ - lf-infra-pre-build
+ - lf-provide-maven-settings:
+ global-settings-file: "{mvn-global-settings}"
+ settings-file: "{mvn-settings}"
+ - lf-infra-create-netrc:
+ server-id: "{mvn-site-id}"
- shell: '{script}'
+ - lf-provide-maven-settings-cleanup
publishers:
- lf-infra-publish
--- /dev/null
+#!/bin/bash
+
+# Copyright (C) 2019 Wind River Systems, Inc.
+#
+# 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.
+
+# Builds a Yocto image for real.
+# Assumes prereqs have already been installed.
+
+echo "--> build-yocto.sh"
+
+# Ensure we fail the job if any steps fail.
+set -eu -o pipefail
+
+dir=workspace
+echo "INFO: creating workspace $dir"
+mkdir $dir
+cmd="./scripts/build_oran.sh -w $dir"
+echo "INFO: invoking build script: $cmd"
+$cmd
+
+echo "--> build-yocto.sh ends"
# See the License for the specific language governing permissions and
# limitations under the License.
-# Installs prerequisites on CentOS then invokes the pti/rtp build script
-# to test creation of a Yocto image. The "-n" flag skips bitbake.
+# Installs Yocto build prerequisites on CentOS.
-echo "--> verify-pti-rtp-centos.sh"
+echo "--> install-yocto-prereq-centos.sh"
# Ensure we fail the job if any steps fail.
set -eu -o pipefail
&& sudo yum makecache \
&& sudo yum install -y $pkgs
-dir=workspace
-echo "INFO: creating workspace $dir"
-mkdir $dir
-cmd="./scripts/build_oran.sh -w $dir -n"
-echo "INFO: invoking build script: $cmd"
-$cmd
-
-echo "--> verify-pti-rtp-centos.sh ends"
+echo "--> install-yocto-prereq-centos.sh ends"
jobs:
- gerrit-info-yaml-verify
-- project:
- name: pti-rtp-verify
+- pti_rtp_common: &pti_rtp_common
+ name: pti-rtp-common
+ # git repo
project: pti/rtp
+ # jenkins job name prefix
project-name: pti-rtp
+ # maven settings file has credentials
+ mvn-settings: pti-rtp-settings
# use a centos with big memory; docker not required
build-node: centos7-docker-2c-8g
- # runs about 30 minutes
+
+- project:
+ <<: *pti_rtp_common
+ name: pti-rtp-verify
+ # runs about 40 minutes
build-timeout: 60
- script: !include-raw-escape: verify-pti-rtp-centos.sh
+ script: !include-raw-escape:
+ - install-yocto-prereq-centos.sh
+ - verify-yocto.sh
jobs:
- oran-shell-verify
+
+- project:
+ <<: *pti_rtp_common
+ name: pti-rtp-merge
+ # runs about 9 hours
+ build-timeout: 600
+ script: !include-raw-escape:
+ - install-yocto-prereq-centos.sh
+ - build-yocto.sh
+ - upload-yocto.sh
+ jobs:
+ - oran-shell-merge
--- /dev/null
+#!/bin/bash
+
+# Copyright (C) 2019 Wind River Systems, Inc.
+#
+# 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.
+
+# Uploads a Yocto image to Nexus.
+
+echo "--> upload-yocto.sh"
+
+# Ensure we fail the job if any steps fail.
+set -eu -o pipefail
+
+echo "INFO: creating virtual environment"
+virtualenv -p python3 /tmp/venv
+PATH=/tmp/venv/bin:$PATH
+pipup="python -m pip install -q --upgrade lftools"
+echo "INFO: installing packages: $pipup"
+$pipup
+
+# NEXUS_URL is set by Jenkins
+nexus_repo_id="images"
+nexus_repo_url="$NEXUS_URL/content/sites/$nexus_repo_id"
+echo "INFO: upload to $nexus_repo_url"
+
+repo_dir="$WORKSPACE/nexus/$nexus_repo_id"
+# TODO: get build or version string; use latest for now
+repo_iso_dir="$repo_dir/org/o-ran-sc/pti/rtp/latest"
+echo "INFO: create staging directory $repo_iso_dir"
+mkdir -p "$repo_iso_dir"
+
+# Expect ISO file: oran-image-inf-host-intel-x86-64.iso
+# in build subdir: workspace/prj_oran-inf/tmp-glibc/deploy/images/intel-x86-64/
+iso="workspace/prj_oran-inf/tmp-glibc/deploy/images/intel-x86-64/oran-image-inf-host-intel-x86-64.iso"
+echo "INFO: copy $iso to staging directory $repo_iso_dir"
+cp "$iso" "$repo_iso_dir"
+
+cmd="lftools deploy nexus $nexus_repo_url $repo_dir"
+echo "INFO: Upload ISO to Nexus: $cmd"
+$cmd
+
+echo "--> upload-yocto.sh ends"
--- /dev/null
+#!/bin/bash
+
+# Copyright (C) 2019 Wind River Systems, Inc.
+#
+# 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.
+
+# Tests creation of a Yocto image. The "-n" flag skips bitbake.
+# Assumes prereqs have already been installed.
+
+echo "--> verify-yocto.sh"
+
+# Ensure we fail the job if any steps fail.
+set -eu -o pipefail
+
+dir=workspace
+echo "INFO: creating workspace $dir"
+mkdir $dir
+cmd="./scripts/build_oran.sh -w $dir -n"
+echo "INFO: invoking build script: $cmd"
+$cmd
+
+echo "--> verify-yocto.sh ends"
<<: *admin_docker_common
name: ric-app-admin
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# source of docker tag
container-tag-method: yaml-file
# use host network to clone from our gerrit
stream:
- master:
branch: master
+
+- project:
+ <<: *admin_docker_common
+ name: ric-app-admin-release
+ branch: master
+ # maven release requires sigul which requires centos
+ # container release requires docker
+ build-node: centos7-docker-2c-8g
+ jobs:
+ - '{project-name}-gerrit-release-jobs'
# jenkins job name prefix
project-name: '{name}'
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
docker-root: mc-core
# source of docker tag
container-tag-method: yaml-file
# jenkins job name prefix
project-name: '{name}'
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
docker-root: sidecars/listener
# source of docker tag
container-tag-method: yaml-file
- master:
branch: master
+- project:
+ <<: *mc_common
+ name: ric-app-mc-release
+ project-name: ric-app-mc
+ branch: master
+ # maven release requires sigul which requires centos
+ # container release requires docker
+ build-node: centos7-docker-2c-8g
+ jobs:
+ - '{project-name}-gerrit-release-jobs'
<<: *ric_app_ml_docker_common
name: ric-app-ml
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# root of docker build
docker-root: AcumosXappAdapter
# source of docker tag
stream:
- master:
branch: master
+
+- project:
+ <<: *ric_app_ml_docker_common
+ name: ric-app-ml-release
+ branch: master
+ # maven release requires sigul which requires centos
+ # container release requires docker
+ build-node: centos7-docker-2c-8g
+ jobs:
+ - '{project-name}-gerrit-release-jobs'
<<: *a1_common
name: ric-plt-a1
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# source of docker tag
container-tag-method: yaml-file
# use host network
sonarcloud-project-organization: '{sonarcloud_project_organization}'
jobs:
- gerrit-tox-sonar
+
+- project:
+ <<: *a1_common
+ name: ricc-plt-a1-release
+ branch: master
+ # maven release requires sigul which requires centos
+ # container release requires docker
+ build-node: centos7-docker-2c-8g
+ jobs:
+ - '{project-name}-gerrit-release-jobs'
<<: *appmgr_docker_common
name: ric-plt-appmgr
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# source of docker tag
container-tag-method: yaml-file
# use host network to clone from our gerrit
stream:
- master:
branch: master
+
+- project:
+ <<: *appmgr_docker_common
+ name: ric-plt-appmgr-release
+ branch: master
+ # maven release requires sigul which requires centos
+ # container release requires docker
+ build-node: centos7-docker-2c-8g
+ jobs:
+ - '{project-name}-gerrit-release-jobs'
<<: *dbaas_docker_common
name: ric-plt-dbaas
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# Specify docker file and host network
docker-build-args: '--network=host -f docker/Dockerfile.redis'
# source of docker tag
stream:
- master:
branch: master
+
+- project:
+ <<: *dbaas_docker_common
+ name: ric-plt-dbaas-release
+ branch: master
+ # maven release requires sigul which requires centos
+ # container release requires docker
+ build-node: centos7-docker-2c-8g
+ jobs:
+ - '{project-name}-gerrit-release-jobs'
<<: *e2_docker_common
name: ric-plt-e2
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# subdirectory
docker-root: RIC-E2-TERMINATION
# source of docker tag
stream:
- master:
branch: master
+
+- project:
+ <<: *e2_docker_common
+ name: ric-plt-e2-release
+ branch: master
+ # maven release requires sigul which requires centos
+ # container release requires docker
+ build-node: centos7-docker-2c-8g
+ jobs:
+ - '{project-name}-gerrit-release-jobs'
<<: *e2mgr_docker_common
name: ric-plt-e2mgr
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# Dockerfile is in a subdir
docker-root: E2Manager
# source of docker tag
stream:
- master:
branch: master
+
+- project:
+ <<: *e2mgr_docker_common
+ name: ric-plt-e2mgr-release
+ branch: master
+ # maven release requires sigul which requires centos
+ # container release requires docker
+ build-node: centos7-docker-2c-8g
+ jobs:
+ - '{project-name}-gerrit-release-jobs'
<<: *resource_status_manager_docker_common
name: ric-plt-resource-status-manager
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# Dockerfile is in a subdir
docker-root: RSM
# source of docker tag
stream:
- master:
branch: master
+
+- project:
+ <<: *resource_status_manager_docker_common
+ name: ric-plt-resource-status-manager-release
+ branch: master
+ # maven release requires sigul which requires centos
+ # container release requires docker
+ build-node: centos7-docker-2c-8g
+ jobs:
+ - '{project-name}-gerrit-release-jobs'
<<: *rtmgr_docker_common
name: ric-plt-rtmgr
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# source of docker tag
container-tag-method: yaml-file
# use host network to clone from our gerrit
stream:
- master:
branch: master
+
+- project:
+ <<: *rtmgr_docker_common
+ name: ric-plt-rtmgr-release
+ branch: master
+ # maven release requires sigul which requires centos
+ # container release requires docker
+ build-node: centos7-docker-2c-8g
+ jobs:
+ - '{project-name}-gerrit-release-jobs'
<<: *submgr_docker_common
name: ric-plt-submgr
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# source of docker tag
container-tag-method: yaml-file
# use host network to clone from our gerrit
stream:
- master:
branch: master
+
+- project:
+ <<: *submgr_docker_common
+ name: ric-plt-submgr-release
+ branch: master
+ # maven release requires sigul which requires centos
+ # container release requires docker
+ build-node: centos7-docker-2c-8g
+ jobs:
+ - '{project-name}-gerrit-release-jobs'
<<: *vespamgr_docker_common
name: ric-plt-vespamgr
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
# source of docker tag
container-tag-method: yaml-file
# use host network
stream:
- master:
branch: master
+
+- project:
+ <<: *vespamgr_docker_common
+ name: ric-plt-vespamgr-release
+ branch: master
+ # maven release requires sigul which requires centos
+ # container release requires docker
+ build-node: centos7-docker-2c-8g
+ jobs:
+ - '{project-name}-gerrit-release-jobs'
--- /dev/null
+---
+- project:
+ name: scp-ocu-openlte-project-view
+ project-name: scp-ocu-openlte
+ views:
+ - project-view
+
+- project:
+ name: scp-ocu-openlte-info
+ project: scp/ocu/openlte
+ project-name: scp-ocu-openlte
+ branch: master
+ jobs:
+ - gerrit-info-yaml-verify
+
+- scp_ocu_openlte_common: &scp_ocu_openlte_common
+ # values apply to all scp/ocu/openlte docker projects
+ name: scp-ocu-openlte-common
+ # git repo
+ project: scp/ocu/openlte
+ # jenkins job name prefix
+ project-name: scp-ocu-openlte
+ # maven settings file has docker credentials
+ mvn-settings: scp-ocu-openlte-settings
+ # source of docker tag
+ container-tag-method: yaml-file
+
+- project:
+ <<: *scp_ocu_openlte_common
+ name: scp-ocu-openlte
+ # image name
+ docker-name: 'o-ran-scp/{name}'
+ docker-build-args: '--network=host'
+ jobs:
+ - '{project-name}-gerrit-docker-jobs'
+ stream:
+ - master:
+ branch: master
+
+- project:
+ <<: *scp_ocu_openlte_common
+ name: scp-ocu-openlte-release
+ branch: master
+ # maven release requires sigul which requires centos
+ # container release requires docker
+ build-node: centos7-docker-2c-8g
+ jobs:
+ - '{project-name}-gerrit-release-jobs'
\ No newline at end of file
name: sim-o1-interface-common
# git repo
project: sim/o1-interface
+ # jenkins job name prefix
+ project-name: sim-o1-interface
# maven settings file has docker credentials
mvn-settings: sim-o1-interface-settings
# source of docker tag
# jenkins job name prefix
project-name: '{name}'
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
docker-root: ntsimulator
# dockerfile is in subdir; needed because Dockerfile includes files outside of build context
docker-build-args: '--network=host -f deploy/manager/Dockerfile'
# jenkins job name prefix
project-name: '{name}'
# image name
- docker-name: '{name}'
+ docker-name: 'o-ran-sc/{name}'
docker-root: ntsimulator
# dockerfile is in subdir; needed because Dockerfile includes files outside of build context
docker-build-args: '--network=host -f deploy/Dockerfile'
stream:
- master:
branch: master
+
+- project:
+ <<: *sim_o1_interface_common
+ name: sim-o1-interface-release
+ branch: master
+ # maven release requires sigul which requires centos
+ # container release requires docker
+ build-node: centos7-docker-2c-8g
+ jobs:
+ - '{project-name}-gerrit-release-jobs'