Skip to content

Instantly share code, notes, and snippets.

View bryantrobbins's full-sized avatar

Bryan Robbins bryantrobbins

View GitHub Profile
@bryantrobbins
bryantrobbins / Batch.groovy
Last active August 29, 2015 13:57
Example of using JenkinsClient from bryantrobbins/jenkinsutils
// Get credentials and URL for Jenkins server from args
// This constructor builds URL of "http://host:port/path", e.g., localhost, 8080, "" for default install
jenkinsClient = new JenkinsClient(jenkinsHost, jenkinsPort, jenkinsPath, jenkinsUser, jenkinsPass)
// Also Process input arguments (args) to get any global params for Jenkins job
for(int i=0; i<batchSize; i++){
// update/obtain job-specific params
@bryantrobbins
bryantrobbins / Jenkins Slave Dockerfile
Last active September 14, 2020 00:01
Docker jenkins and nexus example
FROM ubuntu:12.04
MAINTAINER Bryan Robbins <bryantrobbins@gmail.com>
# Get latest packages
RUN apt-get update && apt-get clean
# Needed for Jenkins
RUN apt-get install --no-install-recommends openjdk-7-jdk -y
# Needed for Jenkins jobs
@bryantrobbins
bryantrobbins / Dockerfile
Created August 17, 2015 01:04
My Jenkins swarm Docker slave for doing R and Gradle stuff (season to taste)
FROM ubuntu:14.04
MAINTAINER Bryan Robbins <bryantrobbins@gmail.com>
# Get latest packages
RUN echo "deb http://lib.stat.cmu.edu/R/CRAN/bin/linux/ubuntu trusty/" >> /etc/apt/sources.list
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
RUN apt-get update && apt-get clean
# Needed for Jenkins
RUN apt-get install --no-install-recommends openjdk-7-jdk -y
@bryantrobbins
bryantrobbins / build.gradle
Created August 17, 2015 02:00
Jenkins parallel grid search; I've copied some code from a helper class here to simplify the example (you'll notice that JenkinsClient is really written as "Java" instead of Groovy). I just wanted the example to be self-contained - there are definitely much more "Groovy" ways to make HTTP calls like the ones our Groovy code needs to make.
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'groovy'
import org.apache.commons.io.IOUtils
import org.apache.commons.io.FileUtils
import static com.xlson.groovycsv.CsvParser.parseCsv
// Load properties or defaults
def min_gamma_val = hasProperty('min_gamma') ? min_gamma : ''
@bryantrobbins
bryantrobbins / build.gradle
Last active August 29, 2015 14:27
A quick script to get the # of builds in the "Build Queue" - i.e., the number of builds which are awaiting an open Executor slot - in Jenkins.
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'groovy'
repositories {
mavenCentral()
}
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.3.8'
# I am a novice at R, so please forgive this example.
# After hours of Google-ing, tweaking, and trying a bunch of stuff, this was the only
# way I could come up with for constructing a set of columns to be dropped from a data.table,
# then dropping those columns.
#
# I expect that any R pros that stumble across this may have comments. Please feel free to suggest edits/leave comments.
#
# Library loading
library('data.table')
@bryantrobbins
bryantrobbins / build.sh
Last active November 14, 2016 06:03
Running a packer build which pushes an nginx-based image of a static website AWS ECR
#!/bin/bash -v
# Add your app build steps here
# Assume that these steps produce a "dist" folder at this level
# Prepare packer variables
repoName=$1
imageVersion=$2
chmod 700 fetch.sh
./fetch.sh $repoName $imageVersion > variables.json
"BuildServer" : {
"Type" : "AWS::EC2::Instance",
"DependsOn" : "AttachGateway",
"Metadata" : {
"AWS::CloudFormation::Init" : {
"config" : {
"sources" : {
"/root" : "https://github.com/bryantrobbins/standard-aws/tarball/master"
},
"files" : {
#!/bin/bash -v
echo "Updating packages"
yum update -y
echo "Installing yum packages"
yum install -y rubygems git puppet3
echo "Installing rubygems"
gem install r10k hiera-eyaml hiera-eyaml-kms
@bryantrobbins
bryantrobbins / hiera.yaml
Last active June 17, 2016 12:52
Local puppet configuration sample
---
:backends:
- yaml
:yaml:
:datadir: "/root/init/datadir"
:hierarchy:
- custom
- "hosts/%{::aws_cloudformation_logical_id}"
- common