簡體   English   中英

如何啟用從 BitBucket 到內部服務器的持續部署

[英]How to enable Continuous Deployment to an internal server from BitBucket

我需要一些指導和建議,請告訴我是否/如何為公司 PHP Laravel 應用程序實施 CI / CD 管道,該應用程序托管在訪問受限且沒有公共 IP 的內部服務器上。不幸的是,我的 DevOps 知識有限,盡管很多谷歌搜索,我不知道我是否在正確的軌道上,或者我是否在一百萬英里之外。 到目前為止,我所閱讀的所有內容都着眼於使用 Web Hook,據我所知,這些 Hook 依賴於公共 IP / 域。

目前我可以在筆記本電腦上處理應用程序並將更改推送到 BitBucket Cloud。 雖然我設法創建了一個 bitbucket-pipelines.yml 文件,它將自動構建和測試任何被推送的分支,然后我必須訪問服務器以手動提取代碼並根據需要運行各種腳本,我更喜歡這樣做自動化。

鑒於情況和限制,我需要了解實施持續部署有哪些選擇?

如果有人可以提供一些指示,那么我將不勝感激。

謝謝

您無法推送到無法訪問的機器,但有一些替代方法。

  • 配置一個堡壘主機,這樣一個外部 CI/CD 運行器可以通過它 ssh 進入你的服務器。 允許從 CI/CD 提供商 CIDR 塊到堡壘主機的入站端口 22 連接https://ip-ranges.atlassian.com/

  • 在與服務器相同的網絡中設置 CI/CD自托管運行器。 https://support.atlassian.com/bitbucket-cloud/docs/runners/使用該運行程序將 ssh 部署到您的服務器私有地址 IP中。

  • 設置基於拉動的部署策略 您的部署步驟僅注冊新的所需版本,例如,在觸發部署的提交引用上移動release/production分支。 在您的服務器中,設置對最新發布/部署的某種訂閱,例如一個 cron 任務來頻繁獲取生產 git 分支。 更改后,重新啟動服務並運行您需要的任何任務。 ansible-pull可以很方便地用於此目的。

暫無
暫無

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

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