X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=jjb%2Flf-macros.yaml;h=d5cc05b71c2cb7aa45b7a66bbada1812d2b86c6f;hb=f5f1642b7c7c7b7fb6e0edf590914ca4b5b276b0;hp=c2b3f2d8924e710223898a4af1a824f64634fbab;hpb=34ab3807fb760dea4fdfc08b1692d49a243759f1;p=releng%2Fglobal-jjb.git diff --git a/jjb/lf-macros.yaml b/jjb/lf-macros.yaml index c2b3f2d8..d5cc05b7 100644 --- a/jjb/lf-macros.yaml +++ b/jjb/lf-macros.yaml @@ -13,6 +13,34 @@ properties-content: 'SERVER_ID={server-id}' - shell: !include-raw-escape: ../shell/create-netrc.sh +- builder: + name: lf-infra-docker-login + # Login into a custom hosted docker registry and / or docker.io + # + # The Jenkins system should have the following global variables defined + # + # DOCKER_REGISTRY : Optional + # The DNS address of the registry (IP or FQDN) + # ex: nexus3.example.com + # + # REGISTRY_PORTS : Required if DOCKER_REGISTRY is set + # Space separated listing of the registry ports to login + # to + # ex: 10001 10002 10003 10004 + # + # DOCKERHUB_EMAIL : Optional + # If this variable is set then an attempt to login to + # DockerHub (docker.io) will be also made. It should be + # set to the email address for the credentials that will + # get looked up. Only _one_ credential will ever be found + # in the maven settings file for DockerHub + builders: + - lf-provide-maven-settings: + global-settings-file: '{global-settings-file}' + settings-file: '{settings-file}' + - shell: !include-raw-escape: ../shell/docker-login.sh + - lf-provide-maven-settings-cleanup + - builder: name: lf-infra-gpg-verify-git-signature # Verify gpg signature of the latest commit message in $WORKSPACE @@ -54,6 +82,30 @@ builders: - shell: 'mkdir -p $WORKSPACE/target/classes $WORKSPACE/jacoco/classes' +- builder: + name: lf-infra-deploy-maven-file + # Deploy files to a repository. + # + # The builder requires passing the following parameters + # REPO_ID: Repository ID + # GROUP_ID: Group ID of the repository + # UPLOAD_FILES_PATH: Path to directory containing one or more files + builders: + - lf-maven-install: + mvn-version: '{mvn-version}' + - lf-provide-maven-settings: + global-settings-file: '{global-settings-file}' + settings-file: '{settings-file}' + - inject: + properties-content: | + REPO_ID={repo-id} + GROUP_ID={group-id} + UPLOAD_FILES_PATH={files-dir} + - shell: !include-raw-escape: + - ../shell/lftools-install.sh + - ../shell/deploy-maven-file.sh + - lf-provide-maven-settings-cleanup + - builder: name: lf-maven-install # call maven-target builder with a goal of --version to force Jenkins to @@ -76,6 +128,7 @@ variable: 'GLOBAL_SETTINGS_FILE' - file-id: '{settings-file}' variable: 'SETTINGS_FILE' + - builder: name: lf-provide-maven-settings-cleanup # Clear maven settings files after we are done using them @@ -110,6 +163,13 @@ Parameter to identify a Gerrit project. This is typically the project repo path as exists in Gerrit. For example: ofextensions/circuitsw + - string: + name: STREAM + default: '{stream}' + description: | + Stream is often set to the same name as 'branch' but can + sometimes be used as a name representing a project's release code + name. - string: name: GERRIT_PROJECT default: '{project}'