diff options
author | Balasankar C <balasankar@gitlab.com> | 2017-05-09 15:19:48 +0530 |
---|---|---|
committer | Balasankar C <balasankar@gitlab.com> | 2017-05-09 15:42:42 +0530 |
commit | e85aa42428e2ab77ed74317b481351197e34e1e3 (patch) | |
tree | 1720c5c26aa92571864b983dbdbb96eda0623076 | |
parent | c44680d1b8e0d14ab46f5785c508b286ee9271b8 (diff) | |
download | gitlab-ce-e85aa42428e2ab77ed74317b481351197e34e1e3.tar.gz |
Move triggering build logic to separate script
-rw-r--r-- | .gitlab-ci.yml | 13 | ||||
-rwxr-xr-x | scripts/trigger-build | 18 |
2 files changed, 19 insertions, 12 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 39546e888d2..88d536fa9b3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -149,18 +149,7 @@ build-package: stage: build when: manual script: - # If no branch in omnibus is specified, trigger pipeline against master - - if [ -z "$OMNIBUS_BRANCH" ] ; then export OMNIBUS_BRANCH=master ;fi - - echo "token=${BUILD_TRIGGER_TOKEN}" > version_details - - echo "ref=${OMNIBUS_BRANCH}" >> version_details - - echo "variables[ALTERNATIVE_SOURCES]=true" >> version_details - - echo "variables[GITLAB_VERSION]=${CI_COMMIT_SHA}" >> version_details - # Collect version details of all components - - for f in *_VERSION; do echo "variables[$f]=$(cat $f)" >> version_details; done - # Trigger the API and pass values collected above as parameters to it - - pipeline_id=$(cat version_details | tr '\n' '&' | curl -s -X POST https://gitlab.com/api/v4/projects/20699/trigger/pipeline --data-binary @- | ruby -e "require 'json'; puts JSON.parse(STDIN.read)['id']") > /dev/null - - echo "Triggered pipeline can be found at https://gitlab.com/gitlab-org/omnibus-gitlab/pipelines/${pipeline_id}" - - rm version_details + - scripts/trigger-build # Prepare and merge knapsack tests knapsack: diff --git a/scripts/trigger-build b/scripts/trigger-build new file mode 100755 index 00000000000..ccdb01c96ca --- /dev/null +++ b/scripts/trigger-build @@ -0,0 +1,18 @@ +#!/usr/bin/env ruby + +require 'net/http' +require 'json' + +uri = URI('https://gitlab.com/api/v4/projects/20699/trigger/pipeline') +params = { + "token" => ENV['BUILD_TRIGGER_TOKEN'], + "variables[GITLAB_VERSION]" => ENV['CI_COMMIT_SHA'], + "variables[ALTERNATIVE_SOURCES]" => true, +} +params['ref'] = ENV['OMNIBUS_BRANCH'] || "master" +Dir.glob("*_VERSION").each do |version_file| + params["variables[#{version_file}]"] = File.read(version_file).strip +end +res = Net::HTTP.post_form(uri, params) +pipeline_id = JSON.parse(res.body)['id'] +puts "Triggered pipeline can be found at https://gitlab.com/gitlab-org/omnibus-gitlab/pipelines/#{pipeline_id}" |