diff options
author | 2018-08-15 16:26:12 -0500 | |
---|---|---|
committer | 2018-08-23 16:05:45 +0000 | |
commit | 3cffa43d73a08aa10cc5c074e3fe1072fb7d9178 (patch) | |
tree | dab84cde0f5c004ff7dd32b5976fb12d07fd5fc1 | |
parent | 3d649565fde368e72dfbf5adcf78c4e5c25efbd2 (diff) |
Add helm-chart publishing script
Issue-ID: CIMAN-164
Change-Id: Iae6f765c2f8a7953a308f2ce81e79e4f633a1a2e
Signed-off-by: Jeremy Phelps <jphelps@linuxfoundation.org>
-rw-r--r-- | jjb/global-templates-helm.yaml | 95 | ||||
-rw-r--r-- | jjb/oom/oom-helm.yaml | 33 | ||||
-rwxr-xr-x | shell/publish_helm_charts.sh | 32 |
3 files changed, 125 insertions, 35 deletions
diff --git a/jjb/global-templates-helm.yaml b/jjb/global-templates-helm.yaml index 038b35936..396a28d49 100644 --- a/jjb/global-templates-helm.yaml +++ b/jjb/global-templates-helm.yaml @@ -14,6 +14,7 @@ # default params for helm jobs pre_build_script: '' + build_script: '' post_build_script: '' ##################### @@ -42,10 +43,14 @@ publishers: - lf-infra-publish -- helm_verify_boiler_plate: &helm_verify_boiler_plate - name: helm_verify_boiler_plate +################# +# JOB TEMPLATES # +################# +- job-template: + name: '{project-name}-{stream}-verify-helm' + # Job template for helm verify jobs - concurrent: true + <<: *helm_job_boiler_plate scm: - gerrit-trigger-scm: @@ -60,9 +65,20 @@ project: '{project}' branch: '{branch}' files: '{files}' + - gerrit: + trigger-on: + - comment-added-contains-event: + comment-contains-value: '^verify-helm$' + + builders: + - shell: '{obj:pre_build_script}' + - shell: '{obj:build_script}' + +- job-template: + name: '{project-name}-{stream}-merge-helm' + # Job template for Helm merge jobs -- helm_merge_boiler_plate: &helm_merge_boiler_plate - name: helm_merge_boiler_plate + <<: *helm_job_boiler_plate scm: - gerrit-trigger-scm: @@ -78,43 +94,64 @@ files: '{files}' - pollscm: cron: '' - -################# -# JOB TEMPLATES # -################# -- job-template: - name: '{project-name}-{stream}-verify-helm' - # Job template for helm verify jobs - - <<: *helm_job_boiler_plate - # yamllint disable-line rule:key-duplicates - <<: *helm_verify_boiler_plate + - gerrit: + trigger-on: + - comment-added-contains-event: + comment-contains-value: '^remerge-helm$' builders: - - shell: '{pre_build_script}' - - shell: '{build_script}' - - shell: '{post_build_script}' + - lf-provide-maven-settings: + global-settings-file: '{mvn-global-settings}' + settings-file: '{mvn-settings}' + - shell: '{obj:pre_build_script}' + - shell: '{obj:build_script}' + - lf-infra-create-netrc: + server-id: oom-helm + - inject: + properties-content: | + BUILD_TYPE=snapshot + - shell: '{obj:post_build_script}' + - lf-provide-maven-settings-cleanup - job-template: - name: '{project-name}-{stream}-merge-helm' - # Job template for Helm merge jobs + name: '{project-name}-{stream}-stage-helm' + # Job template for Helm stage jobs <<: *helm_job_boiler_plate - # yamllint disable-line rule:key-duplicates - <<: *helm_merge_boiler_plate + + scm: + - gerrit-trigger-scm: + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'default' + submodule-recursive: '{submodule-recursive}' + + triggers: + - pollscm: + cron: '0 22 * * *' + - gerrit: + trigger-on: + - comment-added-contains-event: + comment-contains-value: '^stage-helm$' builders: - - shell: '{pre_build_script}' - - shell: '{build_script}' - - shell: '{post_build_script}' + - lf-provide-maven-settings: + global-settings-file: '{mvn-global-settings}' + settings-file: '{mvn-settings}' + - shell: '{obj:pre_build_script}' + - shell: '{obj:build_script}' + - lf-infra-create-netrc: + server-id: oom-helm + - inject: + properties-content: | + BUILD_TYPE=staging + - shell: '{obj:post_build_script}' + - lf-provide-maven-settings-cleanup - job-template: name: '{project-name}-{subproject}-{stream}-verify-helm' # Job template for helm verify jobs <<: *helm_job_boiler_plate - # yamllint disable-line rule:key-duplicates - <<: *helm_verify_boiler_plate builders: - shell: '{pre_build_script}' @@ -126,8 +163,6 @@ # Job template for helm merge jobs <<: *helm_job_boiler_plate - # yamllint disable-line rule:key-duplicates - <<: *helm_merge_boiler_plate builders: - shell: '{pre_build_script}' diff --git a/jjb/oom/oom-helm.yaml b/jjb/oom/oom-helm.yaml index 11a9ac337..467c16681 100644 --- a/jjb/oom/oom-helm.yaml +++ b/jjb/oom/oom-helm.yaml @@ -4,9 +4,22 @@ project-name: oom project: oom mvn-settings: oom-settings + mvn-global-settings: global-settings archive-artifacts: '' build-node: ubuntu1604-helm-2c-1g pre_build_script: !include-raw-escape: shell/helm-repo-init.sh + oom_build_script: | + #!/bin/bash + set -e -o pipefail + cd kubernetes/ + make all + subproject_build_script: | + #!/bin/bash + cd kubernetes/ + make common + make {subproject}' + oom_post_build_script: !include-raw-escape: shell/publish_helm_charts.sh + stream: - 'master': branch: 'master' @@ -69,15 +82,25 @@ jobs: - '{project-name}-{stream}-verify-helm': - build_script: 'cd kubernetes/ && make all' + build_script: '{oom_build_script}' files: '**' - '{project-name}-{stream}-merge-helm': - build_script: 'cd kubernetes/ && make all' + build_script: '{oom_build_script}' + post_build_script: !include-raw-escape: shell/publish_helm_charts.sh + files: '**' + - '{project-name}-{stream}-stage-helm': + build_script: '{oom_build_script}' + post_build_script: !include-raw-escape: shell/publish_helm_charts.sh files: '**' + + # Below jobs disabled until future need. - '{project-name}-{subproject}-{stream}-verify-helm': - build_script: 'cd kubernetes/ && make common && make {subproject}' + disabled: true + build_script: '{subproject_build_script}' - '{project-name}-{subproject}-{stream}-merge-helm': - build_script: 'cd kubernetes/ && make common && make {subproject}' + disabled: true + build_script: '{subproject_build_script}' - '{project-name}-{stream}-update-helm-weekly': + disabled: true + build_script: '{oom_build_script}' files: '**' - build_script: 'cd kubernetes/ && make all' diff --git a/shell/publish_helm_charts.sh b/shell/publish_helm_charts.sh new file mode 100755 index 000000000..02a0c74ae --- /dev/null +++ b/shell/publish_helm_charts.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +set -e -o pipefail +cd kubernetes/dist/packages/ || exit +helm_charts=() +while IFS= read -a line; do + helm_charts+=( "$line" ) +done < <( ls ) + +for chart in "${helm_charts[@]}"; do + chart=$(echo "$chart" | xargs) + case "$BUILD_TYPE" in + 'snapshot') + echo "-n --upload-file $chart https://nexus.onap.org/content/sites/oom-helm-$BUILD_TYPE/$chart" + curl -n --upload-file "$chart" "https://nexus.onap.org/content/sites/oom-helm-$BUILD_TYPE/$chart" + curl -n --upload-file "$chart" "https://nexus.onap.org/content/sites/oom-helm-$BUILD_TYPE/$GIT_COMMIT/$chart" + ;; + 'staging') + curl -n --upload-file "$chart" "https://nexus.onap.org/content/sites/oom-helm-$BUILD_TYPE/$chart" + curl -n --upload-file "$chart" "https://nexus.onap.org/content/sites/oom-helm-$BUILD_TYPE/$GIT_COMMIT/$chart" + ;; + 'release') + echo "Release automation not implemented yet." + exit 1 + ;; + *) + echo "You must set BUILD_TYPE to one of (snapshot, staging, release)." + exit 1 + ;; + esac +done +cd ../../../ |