[英]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.