1

Puppetlabs VCSRepoを使用してリポジトリをチェックアウトします。これが完了したら、新しいバージョンの SHA を含む通知をプッシュしたいと考えています。これを取得する方法がわかりません。

次のように VCS Repo を使用します。

vcsrepo { "/opt/ourcompany/distribution":
    ensure   => latest,
    owner    => $owner,
    provider => git,
    require  => [ Package["git"], User["ouruser" ]],
    source   => "git@domain.com:our/repository.git",
    revision => 'master',
    user => $owner,
}

次に、次のような通知を設定します。

exec { "send-hipchat-message" :
   command => "curl -d \"$body\" $url", #Parameters are set somewhere else
   path => "/usr/bin/",
   subscribe => Vcsrepo["/opt/ourcompany/distribution"],
   refreshonly => true
}

問題は、vcs リポジトリが更新されたばかりのリビジョンの SHA を取得するにはどうすればよいかということです。

4

1 に答える 1

1

最新のコミットの SHA を取得するには、別の回答のコマンドのいずれかを使用できます: Git で現在のコミットのハッシュを取得する方法は?

その後、コマンドを変更してfrom directory with sources のexecようなものを呼び出すだけです。git rev-parse HEADここで簡単な例:

exec { "send-hipchat-message" :
   command     => "echo \"SHA: $$(git rev-parse HEAD)\"",
   path        => "/usr/bin",
   subscribe   => Vcsrepo["/opt/ourcompany/distribution"],
   require     => Vcsrepo["/opt/ourcompany/distribution"],
   cwd         => '/opt/ourcompany/distribution',
   refreshonly => true
}

cwdrequireおよびcommand属性に注意してください。

于 2013-10-17T12:24:10.547 に答える