From 0581bb278e85929f5bf67a64fdb68fc202fc0ff7 Mon Sep 17 00:00:00 2001 From: Jordan Sissel Date: Mon, 15 Oct 2012 23:07:26 -0700 Subject: [PATCH] Add jenkins job creator --- test/jenkins/config.xml.erb | 70 +++++++++++++++++++++++++++++++++++++ test/jenkins/create-jobs.rb | 23 ++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 test/jenkins/config.xml.erb create mode 100644 test/jenkins/create-jobs.rb diff --git a/test/jenkins/config.xml.erb b/test/jenkins/config.xml.erb new file mode 100644 index 000000000..882286ed3 --- /dev/null +++ b/test/jenkins/config.xml.erb @@ -0,0 +1,70 @@ + + + + + false + + + 2 + + + + + https://github.com/logstash/logstash.git + + + + + master + + + false + false + false + false + false + false + false + false + false + false + + Default + + + + + + + + false + + + + true + false + false + false + + false + + + export JRUBY_OPTS=--1.9 + +bundle install +bundle exec rspec spec/<%= plugin_path %> + + + + + + + + rvm + + 1.6.8@logstash + + + + + diff --git a/test/jenkins/create-jobs.rb b/test/jenkins/create-jobs.rb new file mode 100644 index 000000000..31680e9d1 --- /dev/null +++ b/test/jenkins/create-jobs.rb @@ -0,0 +1,23 @@ +#!/usr/bin/env ruby + +require "erb" + +if ENV["JENKINS_HOME"].nil? + puts "No JENKINS_HOME set." + exit 1 +end + +plugindir = File.join(File.dirname(__FILE__), "..", "..", "lib", "logstash") + +plugins = %w(inputs filters outputs).collect { |t| Dir.glob(File.join(plugindir, t, "*.rb")) }.flatten + +template = ERB.new("config.xml.erb") +plugins.each do |path| + job = path.gsub(/.*\/([^\/]+)\/([^\/]+)\.rb$/, '\1-\2') + plugin_path = path.gsub(/.*\/([^\/]+)\/([^\/]+)\.rb$/, '\1/\2') + + jobdir = File.join(ENV["JENKINS_HOME"], job) + puts "Writing #{jobdir}/config.xml" + Dir.mkdir(jobdir) if !Dir.exists?(jobdir) + File.write(File.join(jobdir, "config.xml"), template.result(binding)) +end