I hereby claim:
- I am batmat on github.
- I am bmathus (https://keybase.io/bmathus) on keybase.
- I have a public key whose fingerprint is 7207 4617 7725 A892 07A7 075B FD5D EA07 FCB6 90A8
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
package xxxxx.utils; | |
import java.util.ArrayList; | |
import java.util.Collection; | |
import java.util.HashMap; | |
import java.util.HashSet; | |
import java.util.List; | |
import java.util.Map; | |
import java.util.Set; | |
Refactoring: Extract method?
Typing: automatically place semicolons
Typing: escape text when pasting into a string literal
Do not always remember the shortcuts? Find any option with Ctrl-Shift-3
Organize imports: how to ignore javadoc
Formatter: don’t touch my manually wrapped lines!
Formatter: don’t touch that part (using begin/end tags). Thx Emmanuel Fontan)
Wildly unstable
Goes without saying, anything below was working fine with KDE4.
sonarqube: | |
image: sonarqube:5.1.1 | |
ports: | |
- "9000:9000" | |
- "3306:3306" | |
environment: | |
- SONARQUBE_JDBC_USERNAME=sonar | |
- SONARQUBE_JDBC_PASSWORD=sonar | |
- SONARQUBE_JDBC_URL=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true |
#!/bin/bash | |
set -eou pipefail | |
COUNT=5 | |
SIZE_IN_MB=500 | |
while [[ $COUNT > 0 ]]; do | |
sudo du -sm /var/lib/docker | |
docker run -v /pouet debian fallocate -l ${SIZE_IN_MB}M /pouet/test.img | |
COUNT=$(( $COUNT - 1 )) |
Deliver software quickly and on a regular basis? Adapt to change? All that by hands?
In this session, I’ll explain how we went from a simple Hudson with some jobs a few years ago, to a complete software factory around Jenkins with several hundreds jobs today (Continuous Integration, Continuous Inspection…).
I’ll give feedback on things that didn’t work, and things that work. Why and how put developers in control of their jobs. Tips & tricks to manage all that.
Finally, we’ll see ongoing and upcoming work designed to provide even more "Agility" to all that: job versioning, using Docker for reproducibility and auto-scaling, etc.
# Quick & Dirty way to generate data for number of plugins per month | |
# after the .svg of installations per plugins available under stats.jenkinsci.org | |
# Get all the files | |
for year in $(seq 2007 2015) | |
do | |
for month in $(seq -w 1 12) | |
do | |
wget "http://stats.jenkins-ci.org/jenkins-stats/svg/$year$month-plugins.svg" | |
done |
def numberOfHoursBack = 7*24 | |
def totalBuildTime = | |
Jenkins.instance.getItems(Job.class).collect { job -> | |
job.getBuilds().byTimestamp(System.currentTimeMillis()-numberOfHoursBack*60*60*1000, System.currentTimeMillis()) | |
} | |
.flatten() | |
.collect { build -> build.getDuration() } | |
.sum() |
// Quick & certainly fragile script to gather informations from a docker swarm daemon /info | |
// Cf. https://github.com/docker/swarm/issues/735 for the clean way some day | |
import groovy.json.* | |
def swarmInfoUrl = 'http://sv-t-vnl-ic-swarm:3375/info' | |
def graphiteHost = 'sv-t-vnl-forge-metrics' | |
def graphitePort = 2003 | |
def nodeReservedMemoryField = 'reservedmemory' | |
def nodeTotalMemoryField = 'totalmemory' |