2016-05-04 14 views
0

ビルド名にタイムスタンプを使用するようにJenkinsジョブを定義しました。私はまた、構築されているコードでそのビルド名を使用できるようにしたいと思います。たとえば、私のアプリケーションが初期化中に "スタートアップ"メッセージを出力するとします。理想的には、私は何とかこの起動メッセージにビルド名を注入することができます。
例:
アプリケーションXYZ、20160503から0420を構築するには、私はこのような何かをするために出ている技術の人々がどんなものなのか興味が...Jenkins - 構築するコードにビルド名を渡す

を起動します。

ありがとうございます!

答えて

0

まず、コードに直接ビルド番号を挿入すると、非常に悪いことです。

私たちはJenkinsによってdebianパッケージを作成します。 Debianパッケージは、当社のレポ制御ファイルでなど制御ファイル、パッケージの記述のいくつかの種類、バージョン、依存関係、

が含まれていますが、我々はその後、ソフトウェア の唯一の主要なバージョンを固定しておくご覧のよう

Section: misc 
Priority: optional 
Package: #packagename 
Version: 0.1.0+#build~#repo 

が含まれています私たちは、ビルド変数

sed -i 's/#build/$(BUILD_NUMBER)/' $(FAKEROOT)/DEBIAN/control 
sed -i 's/#repo/$(REPONAME)/' $(FAKEROOT)/DEBIAN/control 
sed -i 's/#packagename/$(PROJECTNAME)/' $(FAKEROOT)/DEBIAN/control 

と#によって開始されたテキストを置き換えるパッケージを作成し、それは我々が公開、展開した後、すべてのジェンキンスのマジックをやって、メールを送信します。 バイナリをビルドして配布するといいと思います。

この変更をリポジトリに追加する場合は、Git publisherまたは別のソース管理システムを使用できますが、これは悪い習慣です。

関連する問題