[英]mercurial automated deployment on staging and production server using bitbucket
目前,我們正在使用帶有HG烏龜的GUI來管理信息庫,並且我們的信息庫是在bitbucket上創建的。
現在,我要將源代碼部署到我的(登台/測試)和生產服務器。 我也用谷歌搜索,但是沒有找到任何好的答案。
我也喜歡用Mercurial管理我的sql數據庫。 是否可以制作我們的數據庫版本?
請幫我!! 謝謝
您不能將數據庫存儲在存儲庫中,但可以導出數據庫。
您可以使用命令行( mysqldump
)或MySQL數據庫管理器導出數據庫。 但是我建議編寫一個自動為您執行此操作的命令行腳本(因為多次編寫該命令很煩人)。
這是有關將mysql數據庫與git(包含自動腳本)同步的文章,該文章對您有幫助。 為HG重寫這些腳本應該不難。
當您推送代碼時,它只會被推送到bitbucket服務器。 如果您希望服務器(或開發人員,測試人員或其他人員)獲取代碼,則需要從服務器中提取代碼(使用命令行命令hg pull
或在您的GUI中使用“拉”按鈕進行hg pull
-Google應該可以幫助您)您找到它)。 您的服務器無法自動執行此操作,因為它會帶來安全問題。 (如果有人獲得開發人員帳戶的訪問權,並且他推送了一些代碼,會發生什么壞事,例如將客戶的數據推送到另一台服務器?以及“數據庫”部分。會發生什么事情。您應該僅將結構保存在存儲庫中,而不是用戶數據等)。
好吧,您應該僅通過命令行(或FTP客戶端等)在(測試)服務器上應用代碼,因為:運行的腳本需要重新啟動屬性,或者如果使用PHP服務器,則數據庫可能添加新表后需要更新)。
如果您考慮的是數據庫演進的版本控制,而不是數據庫中的數據,則必須閱讀有關Liquibase和使用數據庫changelog文件發布數據庫更改的信息。
簡短介紹:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.