Skip to content

Instantly share code, notes, and snippets.

@kenych
kenych / cloudSettings
Last active March 10, 2019 11:37
Visual Studio Code Settings Sync Gist
{"lastUpload":"2019-03-10T11:37:10.363Z","extensionVersion":"v3.2.4"}
@kenych
kenych / cloudSettings
Last active December 8, 2018 16:36
Visual Studio Code Settings Sync Gist
{"lastUpload":"2018-12-08T16:36:24.380Z","extensionVersion":"v3.2.2"}
@kenych
kenych / cloudSettings
Created November 30, 2018 23:30
Visual Studio Code Settings Sync Gist
{"lastUpload":"2018-11-30T23:29:17.742Z","extensionVersion":"v3.2.2"}
@kenych
kenych / cloudSettings
Created November 27, 2018 21:36
Visual Studio Code Settings Sync Gist
{"lastUpload":"2018-11-27T21:36:22.110Z","extensionVersion":"v3.2.2"}
import hudson.model.*
import jenkins.model.*
import com.cloudbees.plugins.credentials.CredentialsScope
import com.cloudbees.plugins.credentials.domains.Domain
import com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl
def domain = Domain.global()
def store = Jenkins.instance.getExtensionList('com.cloudbees.plugins.credentials.SystemCredentialsProvider')[0].getStore()
def instance = System.getenv("JENKINS_INSTANCE_NAME").replaceAll('-','_')
@kenych
kenych / scriptApproval.txt
Created March 18, 2018 16:43
Jenkins scriptApproval plugin config example
scriptApproval{
approvedSignatures=[
'method groovy.util.ConfigSlurper parse java.lang.String',
'staticMethod java.lang.System getenv',
'method org.jenkinsci.plugins.scriptsecurity.scripts.ScriptApproval approveSignature java.lang.String',
'staticMethod org.jenkinsci.plugins.scriptsecurity.scripts.ScriptApproval get'
]
}
@kenych
kenych / scriptApproval.groovy
Created March 18, 2018 16:42
Jenkins scriptApproval plugin config script
import org.jenkinsci.plugins.scriptsecurity.scripts.*
ScriptApproval script = ScriptApproval.get()
ConfigObject conf = new ConfigSlurper().parse(new File(System.getenv("JENKINS_HOME") + '/jenkins_config/scriptApproval.txt').text)
conf.scriptApproval.approvedSignatures.each{ approvedSignature ->
println("checking for new signature ${approvedSignature}")
def found = script.approvedSignatures.find { it == approvedSignature }
if (!found){
println("Approving signature ${approvedSignature}")
script.approveSignature(approvedSignature)
}
@kenych
kenych / kubernetes.groovy
Created March 18, 2018 16:41
Jenkins Kubernetes plugin config script
import hudson.model.*
import jenkins.model.*
import org.csanchez.jenkins.plugins.kubernetes.*
import org.csanchez.jenkins.plugins.kubernetes.volumes.workspace.EmptyDirWorkspaceVolume
import org.csanchez.jenkins.plugins.kubernetes.volumes.HostPathVolume
//since kubernetes-1.0
//import org.csanchez.jenkins.plugins.kubernetes.model.KeyValueEnvVar
import org.csanchez.jenkins.plugins.kubernetes.PodEnvVar
//change after testing
ConfigObject conf = new ConfigSlurper().parse(new File(System.getenv("JENKINS_HOME") + '/jenkins_config/kubernetes.txt').text)
@kenych
kenych / kubernetes.ctmpl
Created March 18, 2018 16:40
kubernetes config consul template
kubernetes {
name = 'Kubernetes'
serverUrl = 'https://kingslanding.westeros.co.uk'
skipTlsVerify = true
namespace = 'kingslanding'
jenkinsUrl = 'http://kingslanding-dev-jenkins.kingslanding.svc.cluster.local'
credentialsId = 'VALYRIAN_STEEL_SECRET'
containerCapStr = '500'
retentionTimeout = 5
connectTimeout = 0
@kenych
kenych / Jenkinsfile
Last active March 18, 2018 18:21
Jenkins config as code job
node {
stage('checkout') {
sh '''
git clone ssh://git@your_scm_here/jenkins_config_as_code.git ${JENKINS_HOME}/jenkins_config
mv ${JENKINS_HOME}/jenkins_config/*.groovy ${JENKINS_HOME}/init.groovy.d/
'''
}
stage('run consul template'){
sh '''
consul-template \