スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

pythonを使ってC++からJenkinsのビルド情報を参照する方法

最近C++の開発支援にpythonを使うことが結構増えてきたので少し紹介したいと思います。

今回は、Jenkinsのビルド情報をC++から参照する方法について。


まず、下記のようなpythonファイルを作成します。

import sys
import os

def WriteDefine(f, name, value):
f.write('#define %s "%s"\n' % (name, value))

def GetEnv(name):
return os.environ.get(name)

def CreateHeader(filepath):
f = open(filepath, "w")

build_id = GetEnv("BUILD_ID")
build_no = GetEnv("BUILD_NUMBER")
svn_revision = GetEnv("SVN_REVISION")

WriteDefine( f , "BUILD_ID " , build_id )
WriteDefine( f , "VERSION_MAJOR " , "2" )
WriteDefine( f , "VERSION_MINOR " , "0" )
WriteDefine( f , "BUILD_NUMBER " , build_no )
WriteDefine( f , "SVN_REVISION " , svn_revision )

f.close()

def main():
argv = sys.argv
argc = len(argv)
if argc != 2:
print("Usage: " + argv[0] + "[header_filepath]")
return

CreateHeader(argv[1])

main()



でこれをJenkinsジョブで実行すると、下記のようなヘッダファイルが出力されます。

#define BUILD_ID "2013-11-30_11-50-58"
#define VERSION_MAJOR "2"
#define VERSION_MINOR "0"
#define BUILD_NUMBER "22"
#define SVN_REVISION "2382"


あとはこれをC++でインクルードすると、ビルド情報をバージョン情報ダイアログなどに組み込むことが出来ます。
スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

カレンダー
10 | 2017/11 | 12
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -
最新記事
カテゴリ
Qt (21)
SDL (2)
MFC (2)
検索フォーム
月別アーカイブ
最新コメント
最新トラックバック
RSSリンクの表示
リンク
リンク(管理用)
FC2カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。