Builds and archives uds artifacts
[infra/cicd.git] / jjb / onap / uds / README.md
1 ## Job Descriptions
2 Jenkins Multijob to build and archive UDS Artifacts (docker images, source repositories, .war files etc.) and pushe to Artifactory.
3 Can accept multiple project source repositories for instances where repositories depend on each other in order to build.
4 Intended for use within Aegis.
5 [Link To Jira Ticket](https://jira.nordix.org/browse/AEGIS-36)
6
7 - uds-verify-package-promote - Multijob root that creates build.properties file to share build parameters and pull project source repositories
8 - uds-verify - Job that does a Maven build for each project source repository specified
9 - uds-package-artifacts - Job that gathers file artifacts specified (.war .jar etc.) and places in a directory to be pushed to Artifactory
10 - uds-package-images - Job archives each docker image using 'docker save' into a tarball and places in a directory to be pushed to Artifactory
11 - uds-package-repositories - Job that archives the project source repositories into a tarball to be pushed to Artifactory
12 - uds-promote-* - Jobs that push each of the Artifacts (docker images, source repos and war files etc.) to their specified location within Artifactory
13
14 ## Job Parameters
15 Job parameters include;
16 - PROJECTS - Nordix Gerrit projects to build and archive (e.g. project1, project2)
17 - BRANCHES - Project branches to pull from (e.g. project1branch, project2branch)
18 - PROJECT_DIRECTORIES - Directories names to place projects
19 - PROJECT_VERSIONS - SHA commit ids/versions of PROJECTS source repositories to checkout e.g. 6d3ab..., d96ba... Allows for building from specific versions of a source or can also be left blank to pull latest source.
20 - GIT_BASE_HTTPS - Base HTTPS URL of repository to clone from
21
22 - MVN_VERSION - Maven version to build with
23 - MVN_URL - Download URL for Maven
24 - MVN - Path to mvn executable
25 - MVN_PARAMS - Maven build parameters
26 - MVN_SETTINGS_XML_VERSION - SHA commit id/version for the ONAP oparent repository to checkout. Used for retrieving the ONAP Maven settings.xml file for the Maven build process. Can be left blank to pull the latest version.
27
28 - ARTIFACTORY_URL - Artifactory URL to push to
29 - POM_LOCATION - Path to repository pom.xml parsed for version number used within archive filenames (e.g. uds.version)
30 - GREP_PARAMS - Parameters for grep command used for parsing pom file for version number used within archive filenames
31
32 - ARCHIVENAME - Name to be given to archive holding the repositories pushed to Artifactory
33 - ARTIFACTORY_REPO_ARCHIVE_PATH - Artifactory repository and path to push repository archive to
34 - REPO_ARCHIVE_ARTIFACT_DIRECTORY - Workspace directory to hold repository artifacts
35
36 - DOCKER_IMAGES - Docker image names to archive and push to Artifactory
37 - ARTIFACTORY_DOCKER_IMAGES_PATH - Artifactory repository and path to push docker images to
38 - DOCKER_IMAGE_ARTIFACT_DIRECTORY - Workspace directory to hold docker image artifacts
39
40 - ARTIFACT_PATHS - Artifact file paths that should be pushed to Artifactory, can contain wildcards
41 - ARTIFACTORY_ARTIFACT_PATH - Artifactory repository and path to push artifacts to e.g. .war .jar files
42 - ARTIFACT_DIRECTORY - Workspace directory to hold artifacts
43
44
45 ## Job Requirements
46 Jenkins Job requires the following packages installed on the Jenkins slave
47  - Maven (tested with v3.6.0)
48  - Docker (tested with v3.3.9)
49  - Java (tested with 1.8.0)
50  For further information about building SDC see [link](https://wiki.onap.org/pages/viewpage.action?pageId=16004156)