2016-02-27 106 views
0

爲了澄清,這個問題涉及到一個Openshift安裝。確定當前分支/提交ID

我想寫一個cron腳本,檢查每個現在和再次對網站進行的更改(這是一個CMS,所以更改可能是數據庫或文件,但我的腳本已經處理)。如果發現有變化,它應該將這些更改提交到git倉庫。

這工作正常,如果我假設我在master分支。然而,能夠檢查開發分支並且將任何自動提交發送到這些分支而不是回顯給主控並重寫它,這將是很好的。

如何在cron腳本中檢測哪些是當前分支以及哪些新提交應該發送?

+0

['git status'](http://git-scm.com/docs/git-status)的輸出以當前分支開始。 – axiac

+0

嗯,但'repo'文件夾實際上並不是一個git repo:它只是最新提交的內容。 git repo本身存在於'〜/ git'中,但它是一個裸露的回購,iirc意味着它沒有頭指針 – CharlieB

+0

您的問題不清楚。您想要提交,但您沒有常規存儲庫,只是其文件和裸存儲庫的快照。你想要提交什麼?直接在裸倉庫中? – axiac

回答

1

請嘗試查看您的~/app-deployments/current目錄並查看metadata.json文件的內容,您將找到以下介紹當前部署的信息。

{ 
"git_ref":"master", 
"git_sha1":"d73e396", 
"id":"ad01e23d", 
"hot_deploy":null, 
"force_clean_build":null, 
"activations":[1456247028.9351604], 
"checksum":"2d041cdb9042ac3f3e3a8f067ad8c583e2a22123" 
} 

如果您有多個部署設置(如下參考:https://developers.openshift.com/en/managing-deployments.html),那麼每一個圍繞保持部署應該提供同樣的信息。您還需要知道,如果您正在運行縮放應用程序,則此信息可能僅在頭戴式設備(運行haproxy並且託管您的git存儲庫的設備)上可用。

+0

這正是我所尋找的,完美的,謝謝! – CharlieB