Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

These resources require a Linux Foundation identity.

URLDescription
https://identity.linuxfoundation.orgThe Linux Foundation identity management web site.
https://gerrit.o-ran-sc.orgThe Gerrit code review server hosts the Git repositories and supports the review and merge workflow. The review process basically requires all users to follow something like a git pull-request process, but restricts the publication (push) of private branches.
https://jenkins.o-ran-sc.orgJenkins is the continuous-integration server aka the build server. All users can see the contents of the Jenkins; no users can directly modify the configuration nor start a job in this Jenkins. Jobs are configured by Jenkins Job Builder (JJB) files in the ci-management gerrit repository.
https://jenkins.o-ran-sc.org/sandboxThe Jenkins sandbox is a place for testing Jenkins job configurations.  After requesting access, users can create jobs, reconfigure jobs, trigger builds etc. New JJB templates should be tested in the sandbox before submitting for review and use on the main Jenkins server.
https://jira.o-ran-sc.orgJira is the web site that supports agile development with epics, user stories, and especially issues (bug reports).
https://nexus.o-ran-sc.org

Not heavily used by this project because Java is not a key technology, this Nexus 2 repository holds Maven (jar and pom) artifacts produced by builds. Snapshot and staging builds are all deployed to this repository.  Release artifacts are created by promoting artifacts manually from the staging repository after suitable approval. Publicly accessible to users without credentials. All users should be able to access and browse artifacts through this URL.

https://nexus3.o-ran-sc.org/

This Nexus 3 server stores project Docker images and also mirrors external registries. Supports the following:

  • Public mirror registry: nexus3.o-ran-sc.org:10001. This acts as a mirror of the public registry at docker.io.
  • Release registry: nexus3.o-ran-sc.org:10002. This is a VIEW offering access to the public registry mirror AND the project releases (docker images in the release registry). Projects may request promotion of their docker images to this registry by creating a ticket for the release engineering team.
  • Snapshot registry: nexus3.o-ran-sc.org:10003. Not used in ORAN, but in other projects, the snapshot registry contains docker images produced by certain Jenkins jobs.
  • Staging registry: nexus3.o-ran-sc.org:10004. This contains docker images produced by merge jobs.

Access to these registries requires authentication with this well-known username and password:

  • username: docker
  • password: docker

These credentials provide read-only access to all the registries above. Only the Jenkins server has write access to the snapshot and staging registries.

https://sonar.o-ran-sc.orgSonar analyzes Java and Python code for quality issues and code coverage achieved by unit tests (JUnit, tox).


Development Procedures and Policies

...

Quickstart: Create and submit a change for review
git checkout -b my-local-branch
# work work work
git commit -as
# Write a commit message including a line "Issue-ID:" with Jira ticket nr
git review master
Quickstart: Revise your open gerrit review
git checkout my-local-branch
# revise revise revise
git commit -a --amend
# Revise your message but do NOT alter the Change-Id: line
git review master
Quickstart: Revise any open gerrit review
# Look up the change number shown top-left in Gerrit web, here "999".
git review -d 999
# revise revise revise
git commit -a --amend
# Check your message -- do NOT alter the Change-Id: line
git review --no-rebase master
Quickstart: Resolve a conflicted review
git checkout master
git pull origin master
# Look up the change number in Gerrit, it's shown top-left, here 999
git review -d 999
git rebase master
# fix conflicts
git add .
git rebase --continue
git review master
Quickstart: Squash commits after you forgot the "--amend" flag
# count number of commits to be squashed, the 2 below is for two
git reset --soft HEAD~2 git commit

Reviewing and merging on Gerrit web site

...

Code Block
Please release the PROJECT-NAME jar and docker image at version VERSION
Stage job:
    https://jenkins.o-ran-sc.org/job/PROJECT-stage-master/201/
Logs:
    https://logs.o-ran-sc.org/production/vex-yul-acumosacumoso-ra-jenkins-1/PROJECT-stage-master/201/
Autorelease repo name:
    autorelease-1150
Thanks in advance

...