Updated Branches: refs/heads/master 377f353fc -> d47def14f
Add jenkins git repository scripts Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/d47def14 Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/d47def14 Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/d47def14 Branch: refs/heads/master Commit: d47def14f1cfacf97f9392eb985fdc6f707c0005 Parents: 377f353 Author: James Peach <[email protected]> Authored: Mon Dec 2 16:34:35 2013 -0800 Committer: James Peach <[email protected]> Committed: Mon Dec 2 16:34:35 2013 -0800 ---------------------------------------------------------------------- ci/jenkins/git-jenkins-setup.sh | 55 +++++++++++++++++++++++++++++++++++ ci/jenkins/git-jenkins-update.sh | 44 ++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d47def14/ci/jenkins/git-jenkins-setup.sh ---------------------------------------------------------------------- diff --git a/ci/jenkins/git-jenkins-setup.sh b/ci/jenkins/git-jenkins-setup.sh new file mode 100644 index 0000000..cd4fcb9 --- /dev/null +++ b/ci/jenkins/git-jenkins-setup.sh @@ -0,0 +1,55 @@ +#! /usr/bin/env bash +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This script sets up a set of git repositories for the +# ci.trafficserver.apache.org jenkins server. We create local branches for all +# the origin release branches, then make linked clones for all the branches +# that we want working copies of. + +set -e # exit on error +#set -x # verbose + +MASTER=trafficserver + +branch() { + local dname="$1" # directory name + local bname="$2" # branch name + + git clone --local $MASTER ${dname} + ( cd ${dname} && git checkout -b ${bname} origin/${bname}) +} + +if [ ! -d $MASTER ] ; then + git clone https://git-wip-us.apache.org/repos/asf/trafficserver.git $MASTER +fi + +( + cd $MASTER + for branch in $(git branch -r | egrep 'origin/[0-9.x]+') ; do + git checkout -b $(echo $branch | sed -es'|origin/||') $branch + git checkout master + done +) + +# The directory names corresponsing to the branches should match the names +# used by jenkins; see jobs.yaml. +branch trafficserver_3.2 3.2.x +branch trafficserver_4 4.1.x +branch trafficserver_5 5.0.x + +# vim: set sw=2 ts=2 sw=2 : http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d47def14/ci/jenkins/git-jenkins-update.sh ---------------------------------------------------------------------- diff --git a/ci/jenkins/git-jenkins-update.sh b/ci/jenkins/git-jenkins-update.sh new file mode 100644 index 0000000..6dd8e52 --- /dev/null +++ b/ci/jenkins/git-jenkins-update.sh @@ -0,0 +1,44 @@ +#! /usr/bin/env bash +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This script updates any working copies created by the git-jenkins-setup.sh +# script. First we pull all the branches from the master clone, then we update +# all the working copies. this script runs from crontab every few minutes. + +set -e # exit on error +#set -x # verbose + +MASTER=trafficserver + +( + cd trafficserver + + # Pick up any new release branches ... + for branch in $(git branch -r | egrep 'origin/[0-9.x]+') ; do + git checkout -b $(echo $branch | sed -es'|origin/||') $branch || true + git checkout master + done + + git pull --all --verbose +) + +for repo in /Users/jenkins/git/trafficserver* ; do + ( cd $repo && git pull ) +done + +# vim: set sw=2 ts=2 sw=2 :
