Sha256: 3a38aa9fc2001a3c6f7a4d8b6f2940d3e5c5e172dd26b089a180c7821692256c
Contents?: true
Size: 1.19 KB
Versions: 1
Compression:
Stored size: 1.19 KB
Contents
require "httparty" require 'nokogiri' require 'cgi' require "kraken-build/version" require "kraken-build/jenkins-api.rb" require "kraken-build/github-api.rb" module KrakenBuild def self.set_config(options = {}) @config = options @repository = options[:repository] @github = GithubApi.new(@config) @jenkins = JenkinsApi.new(@config) @jobs = [] @branches = [] @config end def self.get_jenkins_branches @jenkins.get_jobs.map{ |job| job =~ /^#{@repository}\.(.*)$/ && $1 }.compact end def self.get_github_branches @github.get_branches end def self.run @jobs = get_jenkins_branches @branches = get_github_branches create = compute_jobs_to_create create.map do |job| job_name = "#{@repository}.#{job}" puts "creating => #{job_name}" @jenkins.create_job(job_name) @jenkins.build_job(job_name) end remove = compute_jobs_to_remove remove.map do |job| job_name = "#{@repository}.#{job}" puts "removing => #{job_name}" @jenkins.remove_job(job_name) end end def self.compute_jobs_to_create @branches - @jobs end def self.compute_jobs_to_remove @jobs - @branches end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
kraken-build-0.0.1 | lib/kraken-build.rb |