Jenkins

From DDCIDeos
Revision as of 18:12, 19 December 2025 by Mcarroll (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Getting Started

This section provides general information related to Jenkins and provides details on how to access the DDC-I Jenkins server and user interface. If you have issues accessing the Jenkins user interface or accessing the Jenkins server, please create an IT ticket here: HelpDesk

Official Jenkins documentation can be found here: Official Jenkins Documentation

Jenkins User Interface

The Jenkins user interface can be accessed through any browser using the following path jenkins.ddci.com.

Credentials used to access the Jenkins UI should be the DDC-I email address and password used to log into outlook.

Folders

One of the first things you will see are Jenkins project folders. Jenkins folders are used to organize Jenkins jobs which execute the automated tasks.

See "working with projects" for more information on Jenkins folders and how to interact with these.

Jobs

As you navigate through the folder structure, you will see items in the folders known as jobs. These jobs have information such as status showing pass/fail, last success, build logs, etc. The jobs can be ran manually by selecting the "play" icon from the folder view or the "build now" button in the job view. The job view is accessed by selecting the job.

A job can be modified by selecting the "Configure" button in the job view. You can view the previous job builds in the job view. By selecting a build, you can see the build log view. In the build log view, the "Console Output" button can be selected to see the build output from the selected build.

External Tools

Tools to provide assistance for running docker images, running component build scripts, etc. can be found in the following locations

Jenkins Server

The Jenkins server can be accessed either through a remote desktop connection (jenkins.ddci.com) or through ssh (ssh jenkins.ddci.com).

The server only needs to be accessed if a desired tool/package needs to be installed for a Jenkins job to use. Any Jenkins jobs are managed through the user interface.

Deos Components

The Deos Components folder contains folders for each component that contain component relevant builds.

Building

The build-component job is used to do the following:

  1. SCM checkout for SVN paths including:
    • Component
    • Docker Tools
    • CICD Tools
  1. Execute shell
    1. Build docker image with build dependencies and/or unrelease dependencies
    2. Run image as container
    3. Execute the component build
    4. Remove docker container and image
  2. Send emails on Failures

The job is triggered either manually or through svn commits for the listed svn paths above. SVN commit triggered build failure will send emails to the committer that triggered the build. Otherwise, the emails are sent to the emails listed in "Project Recipient List"

Coverity

TBD

Testing

TBD

Docker Image Builds

The image builds are pushed to docker registries. To login to the registries run the following:

docker login redhat5.ddci.com

docker login jenkins.ddci.com:5000

If you run into issues with the above, please reach out to HelpDesk

Weekly Image Builds

The weekly image builds are stored in the "redhat5.ddci.com" docker registry.

DDS-Build-Sales-Stable

This job builds a DDS image using the build-docker script using sales-kismet.

Pull image

docker pull redhat5.ddci.com/dds-docker-sales-kismet-stable

DDS-Build-bdu64-sales

This job builds DDS image using the bdu64-sales script.

Pull image

docker pull redhat5.ddci.com/dds-docker-sales-kismet-stable

DDS Archive Image Builds

The DDS archive image builds are ran every night and it looks at any newly archived DDS image in the following location: //nx3000.ddci.com/ship/dds/ubuntu/approved/.

The DDS images are pushed to the jenkins.ddci.com:5000 docker registry. Images can be pulled by running the following:

docker pull jenkins.ddci.com:5000/dds-docker-<code-name>-kismet-<release-date>

Where code-name is the code name related to the DDS and release-date is the release date associated with the DDS release.

The DDS images in the docker registry can be viewed using the following:

curl -u <username>:<password> https:/jenkins.ddci.com:5000/v2/_catalog

The tags for the DDS images in the docker registry can be viewed using the following:

curl -u <username>:<password> https://docker.io/v2/<image-name>/tags/list

Where "username" is your username WITH the "@ddci.com" address, "password" is your password, and "image-name" is the name of the image in the reposirtory.

NOTE: The above is to be verified with IT.

OpenArbor Testing

TBD


AIChatBot

TBD