Skip to content

Instantly share code, notes, and snippets.

package _Self.buildTypes
import jetbrains.buildServer.configs.kotlin.v2018_2.*
import jetbrains.buildServer.configs.kotlin.v2018_2.buildSteps.script
object CasesApp : BuildType({
name = "Cases App"
allowExternalStatus = true
maxRunningBuilds = 1
#!/bin/bash
FILE="./target/wine-patched/bin/wine"
PATTERN="\s{5}<key>CFBundleName<\/key>\s{5}<string>Wine<\/string>\s{5}"
REPLACEMENT="<key>CFBundleName</key><string>$1</string>"
if [ -z "$1" ]
then
echo 'Please supply alternate name for bin/wine'
exit 1
fi
//master, regular slaves, and shared slaves
def nodes = []
(Jenkins.instance.computers.grep {
it.class.superclass?.simpleName != 'AbstractCloudComputer' &&
it.class.superclass?.simpleName != 'AbstractCloudSlave' &&
it.class.simpleName != 'EC2AbstractSlave'
}
).each {
nodes.add([type:it.class.simpleName, name:it.displayName, executors:it.numExecutors])
}
import com.cloudbees.opscenter.server.model.*;
import com.cloudbees.opscenter.server.clusterops.steps.*;
import hudson.remoting.*;
def cjoc = getHost(new LocalChannel())
cjoc.masters = []
Jenkins.instance.getAllItems(ConnectedMaster.class).each {
cjoc.masters.add(getHost(it.channel))
}
@apemberton
apemberton / count-cjoc-json.groovy
Created January 25, 2016 13:57
A single, CJOC script that counts executors, nodes, clouds, & cores across masters and on CJOC itself.
import com.cloudbees.opscenter.server.model.*;
import com.cloudbees.opscenter.server.clusterops.steps.*;
import hudson.remoting.*;
def cjoc = getHost(new LocalChannel(), OperationsCenter.class.simpleName, OperationsCenter.class.simpleName)
cjoc.masters = []
Jenkins.instance.getAllItems(ConnectedMaster.class).each {
cjoc.masters.add(getHost(it.channel, it.class.simpleName, it.encodedName))
}
[{
"type": "OperationsCenter",
"name": "OperationsCenter",
"url": "http://jenkins.beedemo.net/",
"cores": 2,
"nodes": [
{
"type": "MasterComputer",
"name": "master",
"executors": 2
@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.7.1' )
import static groovyx.net.http.Method.GET
import static groovyx.net.http.ContentType.*
def http = new groovyx.net.http.HTTPBuilder('http://stats.jenkins-ci.org/')
def plugins
http.request(GET,HTML) { req ->
uri.path = '/plugin-installation-trend/'
/*** BEGIN META {
"name" : "Count executors",
"comment" : "Shows the total number of nodes and executors on Jenkins",
"parameters" : [ ],
"core": "1.350",
"authors" : [
{ name : "Andy Pemberton" }
]
} END META**/
import jenkins.model.Jenkins
stage 'build'
node {
git 'https://github.com/cloudbees/todo-api.git'
withEnv(["PATH+MAVEN=${tool 'm3'}/bin"]) {
sh "mvn -DskipTests=true clean package"
}
stash excludes: 'target/*', includes: '**', name: 'source'
}
stage 'test'
@apemberton
apemberton / flow.groovy
Last active September 16, 2015 14:47
Docker Workflow snippet
stage 'Build Source'
node('docker') {
docker.image('maven:3.3.3-jdk-8') {
git 'https://github.com/cloudbees/mobile-deposit-api.git'
sh 'mvn clean package'
}
}
node('docker') {
docker.withServer('tcp://docker.beedemo.net:2376', 'docker-beedemo-creds'){