摘要:倉庫掛在上,而提供功能,可以在指定事件根據自動部署這一用途,這里指的當然主要是事件了發生后,發一個請求到指定來觸發更新。
背景
今天琢磨著利用git來做服務器自動部署。git倉庫掛在coding.net上,而coding.net提供webhook功能,可以在指定git事件(根據“自動部署”這一用途,這里指的當然主要是push事件了)發生后,發一個請求到指定URL來觸發更新。
問題由于我本人用的是php,所以自然是php接收到coding.net的請求后,執行一段shell命令來啟動git拉取代碼。這一部分還是比較順利的,問題是,啟動git拉取代碼的shell命令要怎么寫呢?
想想我們平時是怎么做的呢?
$ cd /xxxx/xxx #進到git項目目錄 $ git pull #拉取代碼
嗯,看起來很簡單,那我們shell命令也這么寫吧。
fatal: Not a git repository (or any of the parent directories): .git
哎?!這是什么情況,我路徑都是對的啊,怎么會找不到.git目錄?
解決方案在stackoverflow一番搜尋后,尋得問題原因:git命令依賴于環境變量GIT_DIR和GIT_WORK_TREE,這兩個環境變量才是git真正的運行上下文。而在shell命令里直接執行cd是不會跟著改變這兩個環境變量的,因此,就可能發生上述的錯誤。
知道原因就好辦了,我們也不需要使用cd命令了,直接用--git-dir和--work-tree來傳入這兩個參數即可:
$ git --git-dir="/xxx/xxx/.git" --work-tree="/xxx/xxx" pull # 注意這兩個參數是傳給git命令的,要放在"git"的后面未完待續
我不解的是,為什么在控制臺里直接cd就可以改變GIT_DIR和GIT_WORK_TREE這兩個變量呢?求大神指教。
參考資料getting “fatal: not a git repository: "."” when using post-update hook to execute "git pull" on another repo
git --git-dir not working as expected
git(1) Manual Page
Git系列之二 --- git-dir & work-tree
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/22483.html
摘要:本文主要講解的入門。可以幫助我們管理包的下載依賴部署發布等。可以認為是中的。后續使用中,全部替換為即可。命令根據它,自動下載所需模塊用于創建窗口和處理系統事件安裝包的位置。 Electron是什么 可以認為Electron是一種運行環境庫,我們可以基于此,用HTML、JS和CSS寫桌面應用。PC端的UI交互,主要有web應用和桌面應用。具體采用哪種方式,主要看系統的應用場景,哪個更合適...
摘要:無需手動拷貝文件或者創建軟鏈接到目錄,有更優雅的解決方案。這是因為識別協議的,得知這個包需要直接從文件系統中獲取,會自動創建軟鏈接到中,完成安裝過程。 nodejs 社區乃至 Web 前端工程化領域發展到今天,作為 node 自帶的包管理工具的 npm 已經成為每個前端開發者必備的工具。但是現實狀況是,我們很多人對這個nodejs基礎設施的使用和了解還停留在: 會用 npm insta...
摘要:容器運行時,會打印一條信息消息并退出。因此,更好地做法是將需要使用的用戶加入用戶組。涉及到了兩條指令,和。執行命令指令是用來執行命令行命令的。 Docker 是個劃時代的開源項目,它徹底釋放了計算虛擬化的威力,極大提高了應用的運行效率,降低了云計算資源供應的成本!使用 Docker,可以讓應用的部署、測試和分發都變得前所未有的高效和輕松! 無論是應用開發者、運維人員、還是其他信息技術從...
摘要:容器運行時,會打印一條信息消息并退出。因此,更好地做法是將需要使用的用戶加入用戶組。涉及到了兩條指令,和。執行命令指令是用來執行命令行命令的。 Docker 是個劃時代的開源項目,它徹底釋放了計算虛擬化的威力,極大提高了應用的運行效率,降低了云計算資源供應的成本!使用 Docker,可以讓應用的部署、測試和分發都變得前所未有的高效和輕松! 無論是應用開發者、運維人員、還是其他信息技術從...
閱讀 2222·2023-04-26 01:57
閱讀 3241·2023-04-25 16:30
閱讀 2325·2021-11-17 09:38
閱讀 1069·2021-10-08 10:14
閱讀 1383·2021-09-23 11:21
閱讀 3678·2019-08-29 17:28
閱讀 3450·2019-08-29 15:27
閱讀 944·2019-08-29 13:04