Jenkinsでソースコードの差分をチェックする

@iwasaki 1,148views 更新:2015年2月19日

gitやsubversionなどであればそれぞれのコミットごとの差分を取得することは可能ですが、例えばいくつかの修正をまとめてデプロイするときなどに、デプロイする時点のソースコードの差分をJenkinsで取得する方法です。

このジョブをデプロイ用のJenkinsのジョブの次のジョブとして実行するようにすれば、result.txtで差分のあるファイルを確認することができ、意図していないファイルが更新されていないかを知ることができます。

#!/bin/sh

cp /dev/null $WORKSPACE/result.txt

# 1つ前のファイル削除
rm -rf $WORKSPACE/last
mkdir -p $WORKSPACE/last

#コピー
cp -fRap $WORKSPACE/new/* $WORKSPACE/last

#別プロジェクトからソースコードをコピー
rm -rf $WORKSPACE/new
mkdir -p $WORKSPACE/new
shopt -s dotglob
cp -fRap $JENKINS_HOME/workspace/aipo/* $WORKSPACE/new
shopt -u dotglob
#jarファイルなど不要なファイルを消すためclean
cd $WORKSPACE/new
/var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven3/bin/mvn clean

diff -qrb --exclude=.svn --exclude=.git  --exclude=.classpath --exclude=.gitattributes --exclude=.gitignore --exclude=.project  --exclude=.settings  --exclude=.tomcatplugin $WORKSPACE/new $WORKSPACE/last >> $WORKSPACE/result.txt

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません