2015-07-21 89 views
0

使用Rails Capistrano進行部署時,如果您從git部署,則會在部署中獲得REVISION文件。這是部署對象的SHA。獲取標籤的Github URL SHA

我有一點鏈接到只有管理員代碼: https://github.com/<company>/<project>/commit/<sha>

這樣,開發者可以很容易地仔細檢查當前部署的細節。它工作很有用。

我最近將部署系統從基於分支的部署更改爲(帶註釋)的基於標籤的部署。

現在,REVISION包含標籤的SHA。

我想不出如何用這個SHA生成一個到GitHub的URL。

https://github.com/<company>/<project>/tree/<tag>工程,但https://github.com/<company>/<project>/tree/<tag-sha>沒有。

嘗試使用API​​解決此問題也失敗。

因此給定一個標籤SHA,我該如何爲它生成GitHub URL?

+0

爲什麼不保存標記指向的提交散列而不是散列標記?我假設你正在做'sha256sum(「v0.1.0」)'?我想你可以運行一個cron作業,它不斷地執行'git fetch --tags; git標籤「並手動存儲散列表的哈希表是指什麼標籤... – Plato

+0

以下是你在找什麼:'https://github.com/ //commit/'? –

+0

@Plato我做了一個'git tag -a tagname'。在capistrano中,我將對象設置爲通過'set:branch,tagname'進行部署。它部署我想要的東西。最終生成的REVISION文件有一個SHA,而不是一個標記名。如果我'git描述the_revision_sha'它吐出標籤名稱。所有這些都是爲我完成的。如果github不能在git中使用SHA來做一些有用的事情,那麼我就不得不想出其他的東西了。 (我確實問過github的支持,並且還在等待回覆。) – z5h

回答