2011-08-23 5 views
24

Jenkinsは、パラメータ化されたビルドをサポートしています。Jenkinsに渡されたパラメータからgitタグを構築することはできますか?

タグを展開してパラメータを指定する必要があるデプロイメントビルドがあります。 (特定のタグをプロダクションにデプロイする)

gitプラグインで簡単にこれを行う方法はありますか?

パラメータTAG_NAMEを追加して、ジョブのgit pluginセクションのbranch_specifierを$ TAG_NAMEに設定しようとしました。 作業していません。私は得る:

ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job. 

任意のアイデア?

答えて

21

ビルドをパラメータ化し、git URLボックスに、定義した変数の名前を入力します。たとえば、$ {GIT_URL}です。これはそれを行う必要があります。

+0

クールは、私が欠けていたものでした。乾杯。 – dalyons

+0

Heh!それを聞いてうれしいことは問題を解決した! :) – carlspring

+2

好奇心から、タグがパラメータとして指定されている場合、$ {GIT_URL}変数はどのように見えますか? 私はJenkins + Gitを使い慣れていません。 – paxos1977

10

これはGoogleのトップページです この質問に時間を費やしました... 短い回答: 拡張可能な選択プラグイン+ Groovyスクリプト。これにより、既存のタグで既に埋め込まれているドロップダウンメニューを作成することができます。

def gettags = "git ls-remote -t [email protected]:mycompany/com.someproject.git".execute() 
def tags = [] 
def t1 = [] 
gettags.text.eachLine {tags.add(it)} 
for(i in tags) 
    t1.add(i.split()[1].replaceAll('\\^\\{\\}', '').replaceAll('refs/tags/', '')) 
t1 = t1.unique() 
return t1 

長い答えhere

+0

それは私のためには機能しません。 Git Parameter Pluginの場合と同じように、私はこのプラグインがSSH認証情報を考慮に入れているとは思わない。 いずれにしても、ドロップダウンリストに項目が表示されません。 –

+0

'def gettags'で始まる行は私にとってはうまくいきません。なぜなら、gitはSSHについて知りませんし、' .ssh/config'ファイルをjenkinsユーザに追加することができないからです。私自身の答えはhttp://stackoverflow.com/questions/28543482/jenkins-git-parameter-plugin-cannot-fetch-tags –

9

Git Parameter Pluginあなたはまさにそれを実行することを可能にする、あります:

このプラグインを使用すると、パラメータ化で パラメータを構築するようにgitタグやリビジョン番号を割り当てることができます。 を特別に設定する必要はありません。このプラグインはGit プラグインからデフォルト設定を読み込みます。

+0

私はGitパラメータプラグインを使用しようとしていますが、v 0.3.2では機能しませんrelease(sha1 of repo) – kikicarbonell

+0

Gitパラメータプラグインのバージョン0.4.0を使用していますが、gitサーバーのSSH資格情報を使用していないようです。すべてのgitタグを取得しようとするとエラーになります。 http://stackoverflow.com/questions/28543482/jenkins-git-parameter-plugin-cannot-fetch-tags –

+0

私はExtensible ChoiceプラグインとPHPスクリプトを使用しています。リンクされた質問で私自身の答え。 –

関連する問題