Skip to content

Instantly share code, notes, and snippets.

View twasink's full-sized avatar

Robert Watkins twasink

View GitHub Profile
@twasink
twasink / Jenkins.yaml
Last active June 25, 2021 06:20
Jenkins ECS CloudFormation
AWSTemplateFormatVersion: 2010-09-09
Description: Jenkins ECS Service
# This configures a Jenkins instance, using a custom Docker image,
# running as a container on Amazon's ECS.
Parameters:
AvailabilityZone:
Type: AWS::EC2::AvailabilityZone::Name
Default: us-east-1a
@twasink
twasink / nexus.yaml
Created June 20, 2021 22:29
Nexus ECS CloudFormation
AWSTemplateFormatVersion: 2010-09-09
Description: Nexus ECS Service
# This configures a Sonatype Nexus 3 instance, running as a container on Amazon's ECS.
# This particular version is part of an ecosystem where other resources,
# such as a DNS zone and load balancer, are already created.
# These are referred to with !ImportValue statements
Parameters:
AvailabilityZone:
@twasink
twasink / Jenkins-Dockerfile
Last active June 25, 2021 06:20
Jenkins Image, using Docker-in-Docker
# We need Ruby to do a lot of stuff; let's install it here
# Using buster because that's what the Jenkins build is based on.
FROM ruby:2.7-buster as ruby
COPY --from=ruby / /
FROM jenkins/jenkins:lts-jdk11
MAINTAINER Robert Watkins
USER root
@twasink
twasink / AjaxErrorHandlingSpikeSpec.js
Created September 16, 2019 13:17
An attempt to explore how error handling in ExtJS AJAX requests work. Use ExtJS, Jasmine
/**
* An attempt to explore how error handling in ExtJS AJAX requests work,
* in particular looking at ways to re-try requests and cope with
* both the conventional 'success/fail/callback' style and this
* new-fangled 'then/always/otherwise' promise approach.
*/
describe("Twasink.spike.AjaxErrorHandlingSpikeSpec", function() {
var successHandler;
var failHandler;
var alwaysHandler;
@twasink
twasink / PublicSubnets.yaml
Created January 15, 2019 12:18
Example CloudFormation stack building two public subnets.
---
AWSTemplateFormatVersion: '2010-09-09'
Description:
The Public Subnet, and associated routing information
# Metadata: # no metadata
Parameters:
Environment:
Type: String
@twasink
twasink / Globals.yaml
Created January 15, 2019 12:14
Baby's First CloudFormation Stack
---
AWSTemplateFormatVersion: '2010-09-09'
Description:
Global configuration that could be used by multiple related stacks
# Metadata: # no metadata
Parameters:
Environment:
Type: String
@twasink
twasink / ClipboardOverride.js
Created September 21, 2016 01:54
An override to the default Grid Clipboard plugin for ExtJS, implementing somewhat more sensible behaviour
Ext.define('Twasink.override.Clipboard', {
override: 'Ext.grid.plugin.Clipboard',
// The default putCellData doesn't pay attention to the selection, or the editor. This is a fix
putCellData: function(data, format) {
var view = this.getCmp().getView();
// OVERRIDE Lines 141 to 157 in the ExtJS 6.2.0 source. This fixes a bug where the paste event starts where the
// navigation position is, which may well be at the bottom of the selection.
#!groovy
node {
// Need to replace the '%2F' used by Jenkins to deal with / in the path (e.g. story/...)
// because tests that do getResource will escape the % again, and the test files can't be found
ws("workspace/${env.JOB_NAME}/${env.BRANCH_NAME}".replace('%2F', '_')) {
// Mark the code checkout 'stage'....
stage 'Checkout'
checkout scm
// Mark the code build 'stage'....
#!groovy
node {
// Need to replace the '%2F' used by Jenkins to deal with / in the path (e.g. story/...)
// because tests that do getResource will escape the % again, and the test files can't be found.
// See https://issues.jenkins-ci.org/browse/JENKINS-34564 for more.
ws("workspace/${env.JOB_NAME}/${env.BRANCH_NAME}".replace('%2F', '_')) {
// Mark the code checkout 'stage'....
stage 'Checkout'
checkout scm
data:
build: jenkins-data
master:
build: jenkins-master
volumes:
- .:/backup
volumes_from:
- data
ports: