Skip to content

Instantly share code, notes, and snippets.

View mrchilds's full-sized avatar

Wesley Childs mrchilds

View GitHub Profile
# Using conf.py (currently in master)
# Jenkins config...
# Wes Code (e.g. before any help)
#!/bin/bash
source /home/ubuntu/production/bin/activate
cd /srv/
echo "Generating 'doc' folder..."
@mrchilds
mrchilds / gist:6523737
Created September 11, 2013 13:37
Clear
from django.core.cache import cache
cache_key = 'CM:recent-jobs'
cache.delete(cache_key)
@mrchilds
mrchilds / gist:6573907
Last active December 23, 2015 03:29
Simple Fabric Script
# Deploy branch to staging
from fabric.api import cd, env, parallel, run, task
from fabric.decorators import roles
# Define your servers
env.roledefs = {
'staging-web-servers': ['s-web-01.example.com',
's-web-03.example.com',
's-web-03.example.com'],
@mrchilds
mrchilds / gist:6573925
Created September 15, 2013 20:01
Simple hubot plugin
# Description:
# Deploy branches to staging.
#
# Commands:
# hubot deploy <branch> to <environment>
# hubot show branches
{spawn, exec} = require 'child_process'
module.exports = (robot) ->
@mrchilds
mrchilds / gist:6573934
Created September 15, 2013 20:02
Example Supervisor Config
[program:hubot]
command=/srv/hubot/bin/hubot --adapter hipchat
user=hubot
autostart=true
autorestart=true
directory=/srv/hubot/
environment=HUBOT_AUTH_ADMIN="XYZ",HUBOT_HIPCHAT_PASSWORD="XYZ",HUBOT_HIPCHAT_TOKEN="XYZ",HUBOT_HIPCHAT_JID="XYZ",HUBOT_HIPCHAT_ROOMS="ROOMS"
@mrchilds
mrchilds / gist:6611158
Created September 18, 2013 15:45
Test Runner
import argparse
import multiprocessing
import os
import sys
import unittest
class RunTests():
"""
Test wrapper to allow for local or remote (via saucelabs) tests to be run in
parallel.
@mrchilds
mrchilds / gist:6611165
Created September 18, 2013 15:45
Example setup
def setUp(self):
if 'remote_saucelabs' in os.environ:
desired_capabilities = []
##--tc=name:Dev-run --tc=browser:firefox
browser = copy.copy(webdriver.DesiredCapabilities.FIREFOX)
browser['name'] = config['name']
desired_capabilities += [browser]
self.driver = webdriver.Remote(
desired_capabilities=desired_capabilities,
@mrchilds
mrchilds / S3 Size
Created November 21, 2013 17:47
S3 Bucket Size
# Crude but does the job
from boto.s3.connection import S3Connection
conn = XXX
rs = conn.get_all_buckets()
# Get bucket
bucket_name = 'XXX'
@mrchilds
mrchilds / gist:7871446
Created December 9, 2013 12:20
Example....
def pre_staging_restart_services():
"""
Restart celery and gunicorn services
Used by newer staging environments
"""
# Install requirements
with virtualenv():
run('pip install -r /srv/CustomMade/requirements.txt')
@mrchilds
mrchilds / gist:8315307
Created January 8, 2014 11:16
Update Route53 script
# Adapted from: http://blog.domenech.org/2012/11/automatically-manage-your-aws-ec2.html
# External IPs are not useful internally in AWS. Change to CNAME with public DNS. This ensures you don't pay for extra bandwidth as if will resolve to an internal IP when inside AWS and an external IP when outside in the real world
#!/bin/bash
logger start-up-name.sh Started
#More environment variables than we need but... we always do that
export AWS_CREDENTIAL_FILE=/opt/aws/apitools/mon/credential-file-path.template
export AWS_CLOUDWATCH_HOME=/opt/aws/apitools/mon