DockerFile should have JProfiler installation.
RUN wget <JProfiler file location> -P /tmp/ && \
tar -xzf /tmp/<JProfiler file> -C /usr/local && \
rm /tmp/<JProfiler file>
| #!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 |
| #!/usr/bin/groovy | |
| /* | |
| * Copyright (c) 2016, Andrey Makeev <amaksoft@gmail.com> | |
| * All rights reserved. | |
| * | |
| * Redistribution and use in source and binary forms, with or without | |
| * modification, are permitted provided that the following conditions | |
| * are met: | |
| * 1. Redistributions of source code must retain the above copyright |
| [merge] | |
| tool = vimdiff | |
| [mergetool] | |
| prompt = true | |
| [mergetool "vimdiff"] | |
| cmd = nvim -d $LOCAL $REMOTE $MERGED -c '$wincmd w' -c 'wincmd J' | |
| [difftool] | |
| prompt = false | |
| [diff] | |
| tool = vimdiff |
| # Assumes the database container is named 'db' | |
| DOCKER_DB_NAME="$(docker-compose ps -q db)" | |
| DB_HOSTNAME=db | |
| DB_USER=postgres | |
| LOCAL_DUMP_PATH="path/to/local.dump" | |
| docker-compose up -d db | |
| docker exec -i "${DOCKER_DB_NAME}" pg_restore -C --clean --no-acl --no-owner -U "${DB_USER}" -d "${DB_HOSTNAME}" < "${LOCAL_DUMP_PATH}" | |
| docker-compose stop db |
| // Jenkins Pipeline DSL to demonstrate git merge before build | |
| node { | |
| String path = '/tmp/jenkins/upstream-repo' | |
| sh "rm -rf ${path}" | |
| ws(path) { | |
| sh 'git --version' | |
| sh 'git init' | |
| sh 'touch README.md; git add README.md; git commit -m "init"' | |
| sh 'git checkout -b pull-requests/1/from' | |
| sh 'touch file.txt; git add file.txt; git commit -m "Add file"' |
| KEY=XXXXXXXXXXXX | |
| HOST="https://metrics.crisidev.org" | |
| mkdir -p dashboards && for dash in $(curl -k -H "Authorization: Bearer $KEY" $HOST/api/search\?query\=\& |tr ']' '\n' |cut -d "," -f 5 |grep slug |cut -d\" -f 4); do | |
| curl -k -H "Authorization: Bearer $KEY" $HOST/api/dashboards/db/$dash > dashboards/$dash.json | |
| done |
I've been asked a few times over the last few months to put together a full write-up of the Git workflow we use at RichRelevance (and at Precog before), since I have referenced it in passing quite a few times in tweets and in person. The workflow is appreciably different from GitFlow and its derivatives, and thus it brings with it a different set of tradeoffs and optimizations. To that end, it would probably be helpful to go over exactly what workflow benefits I find to be beneficial or even necessary.
| #!/bin/bash | |
| set -o errexit | |
| echo "Removing exited docker containers..." | |
| docker ps -a -f status=exited -q | xargs -r docker rm -v | |
| echo "Removing dangling images..." | |
| docker images --no-trunc -q -f dangling=true | xargs -r docker rmi |