Jenkins
From Andreida
- installation http://pkg.jenkins-ci.org/debian/
- Default port is 8080
- when using svn hooks with tokens, the called url must be in double quotes or you will lose the not-first get parameters ('cause').
- svn hook (make sure: sh -> bash) if you have multiple projects in one repository but want to call Jenkins only for the current commit.
- change JENKINS_IP and
- PROJECTS=( YourProject1 YourProject2 )
#!/bin/bash REPOS="$1" REV="$2" TXN_NAME="$3" export PATH=$PATH:/usr/bin PROJECTS=( YourProject1 YourProject2 ) for PROJECT in ${PROJECTS[@]}; do svnlook changed $REPOS --revision $REV | grep -q "$PROJECT" && wget -q "<JENKINS_IP>:8080/job/$PROJECT/build?token=$PROJECT" done exit 0
You might need to give the username/password for Jenkins, so the svnlook line above would be like:
svnlook changed $REPOS --revision $REV | grep -q "$PROJECT" && wget -q --auth-no-challenge --http-user=<jenkins-user> --http-password=<jenkins-password> "http://localhost:8080/job/$PROJECT/build?token=$TOKEN"