Skip to content

Instantly share code, notes, and snippets.

View michellaporte's full-sized avatar

Michel Laporte michellaporte

  • Essence
  • London
View GitHub Profile
@tirumaraiselvan
tirumaraiselvan / setupadmissionwebhook.md
Last active July 30, 2024 18:21
Setup admission webhooks in Kubernetes
@naesheim
naesheim / buildWhenAffected.sh
Last active November 28, 2022 20:20
CircleCi - only build features that has changed
##################
### config.yml ###
##################
version: 2
jobs:
build:
docker:
- image: circleci/python:3.6
steps:
@owainlewis
owainlewis / Operations.md
Last active December 8, 2020 06:53
Install Spinnaker on Ubuntu 16.04

Operations

Upgrade Spinnaker to latest

sudo apt-get upgrade -y spinnaker

Check version of Spinnaker installed

@Philmod
Philmod / gcb-kubernetes.yaml
Last active July 25, 2021 05:34
Deploy a new image from Google Cloud Container Builder to Kubernetes, by storing GKE credentials in GCS.
steps:
- name: 'gcr.io/cloud-builders/npm'
args: ['install']
- name: 'gcr.io/cloud-builders/npm'
args: ['test']
- name: 'gcr.io/cloud-builders/docker'
args: ["build", "-t", "gcr.io/$PROJECT_ID/frontend:$REVISION_ID", "."]
- name: 'gcr.io/cloud-builders/docker'
args: ["push", "gcr.io/$PROJECT_ID/frontend:$REVISION_ID"]
- name: 'gcr.io/cloud-builders/gcloud'
@jonico
jonico / Jenkinsfile
Last active May 11, 2024 09:58
Example for a full blown Jenkins pipeline script with CodeQL analysis steps, multiple stages, Kubernetes templates, shared volumes, input steps, injected credentials, heroku deploy, sonarqube and artifactory integration, Docker containers, multiple Git commit statuses, PR merge vs branch build detection, REST API calls to GitHub deployment API, …
#!groovy
import groovy.json.JsonOutput
import groovy.json.JsonSlurper
def label = "mypod-${UUID.randomUUID().toString()}"
podTemplate(label: label, yaml: """
spec:
containers:
- name: mvn
image: maven:3.3.9-jdk-8
@michaellihs
michaellihs / jenkins-pipeline-cheat-sheet.md
Last active August 17, 2023 17:12
Jenkins Pipeline Plugin Cheat Sheet

Jenkins Pipeline Plugin Cheat Sheet

My collection of useful hints and snippets for the Jenkins Pipeline Plugin

Testing Jenkins Pipelines

@Faheetah
Faheetah / Jenkinsfile.groovy
Last active September 19, 2024 03:12
Jenkinsfile idiosynchrasies with escaping and quotes
node {
echo 'Results included as an inline comment exactly how they are returned as of Jenkins 2.121, with $BUILD_NUMBER = 1'
echo 'No quotes, pipeline command in single quotes'
sh 'echo $BUILD_NUMBER' // 1
echo 'Double quotes are silently dropped'
sh 'echo "$BUILD_NUMBER"' // 1
echo 'Even escaped with a single backslash they are dropped'
sh 'echo \"$BUILD_NUMBER\"' // 1
echo 'Using two backslashes, the quotes are preserved'
sh 'echo \\"$BUILD_NUMBER\\"' // "1"

Google Compute Engine NFS Container VM

This script creates a Container VM on Google Compute Engine running a NFS V4 server exposed on Port 2049 with the /exports directory mounted to a persistent disk. This means:

  • If the NFS VM Crashes, the persistent disk will still hold the NFS Files
  • The persistent disk can be snapshotted to backup NFS Files

To run:

gcloud container clusters create cluster-1 \
--num-nodes 1 \
--disk-size 10 \
--machine-type f1-micro \
--no-enable-cloud-logging \
--no-enable-cloud-monitoring
# When it's done, your kubectl command should work
kubectl cluster-info
@Integralist
Integralist / GitHub curl.sh
Last active September 8, 2024 21:36 — forked from madrobby/gist:9476733
Download a single file from a private GitHub repo. You'll need an access token as described in this GitHub Help article: https://help.github.com/articles/creating-an-access-token-for-command-line-use
curl --header 'Authorization: token INSERTACCESSTOKENHERE' \
--header 'Accept: application/vnd.github.v3.raw' \
--remote-name \
--location https://api.github.com/repos/owner/repo/contents/path
# Example...
TOKEN="INSERTACCESSTOKENHERE"
OWNER="BBC-News"
REPO="responsive-news"