Merge "Add maven-deploy-file builder for packaging jobs" v0.4.0
authorAnil Shashikumar Belur <abelur@linuxfoundation.org>
Wed, 28 Jun 2017 07:22:22 +0000 (07:22 +0000)
committerGerrit Code Review <gerrit@linuxfoundation.org>
Wed, 28 Jun 2017 07:22:22 +0000 (07:22 +0000)
1  2 
jjb/lf-macros.yaml

diff --combined jjb/lf-macros.yaml
            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
      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
                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