簡體   English   中英

使用Bitbucket在臨時服務器和生產服務器上自動進行自動部署

[英]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文件發布數據庫更改的信息。

簡短介紹:

  • Liqubase存儲為更改日志的架構中的每個更改(創建數據庫也是強制性的零級更改)
  • 與變更集一起存儲的變更日志,該變更集引入了此變更(已添加到先前的變更日志集中)
  • 將項目從狀態A更新到狀態B假定將A :: B范圍內的所有變更集應用於代碼和這些變更集中的所有數據庫變更日志

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM