簡體   English   中英

在觸發器上從GitLab存儲庫發布到Azure Web Apps

[英]Publishing to Azure Web Apps from GitLab repository on trigger

我在GitLab中有一個git存儲庫,我需要在某個任意觸發器上發布到Azure Web App(即它不能在每次更新存儲庫時觸發,但我們對觸發發布的方式相當靈活)。 據我所知,最簡單的方法是創建一個Azure Automation Powershell腳本,該腳本將以某種方式啟動,然后對GitLab進行身份驗證,拉出存儲庫並發布它。 但是,我不確定如何在不登錄Azure管理門戶的情況下觸發任意Powershell腳本,或者如何獲取Azure的部署密鑰以使其向Gitlab進行身份驗證。

這些是可以解決的問題,還是有更好的方法?

更新 :更好的更新文章在這里: https//christianliebel.com/2016/05/auto-deploying-to-azure-app-services-from-gitlab/

一旦你閱讀並理解了那個,那么你可以看一下Azure和VSTS https://www.visualstudio.com/en-us/docs/build/get-started/aspnet-4-ci-cd-azure-自動#常見問題解答

舊答案:我遇到過這篇文章, https://github.com/projectkudu/kudu/wiki/Continuous-deployment

底部區域是最有用的部分。 它應該適用於GitLab。 為了清理它,Kudo服務已經在你所有的azure web項目上運行,應該已經存在了。 只需將“scm”添加到URL即可訪問它。

好的文章底部部分:

設置Web Hook,以便在部署發生時通知Kudu

鈎子URL是Kudu服務上的/ deploy路徑。 所以它看起來像https://mysite.scm.azurewebsites.net/deploy 但由於該服務使用基本身份驗證,因此您需要傳遞URL中的信用。 通常,您需要在此處使用站點級憑據,而不是用戶憑據(請參閱部署憑據)。 所以完整的URL看起來像https:// $ mysite:BigRandomPassword@mysite.scm.azurewebsites.net/deploy

獲取此URL的最簡單方法是直接從Azure門戶復制它。 您可以在“配置”選項卡的“部署觸發器URL”字段中找到它。

獲得URL后,可以將其設置為GitHub / Bitbucket / GitLab掛鈎。

對於私有存儲庫,請設置部署密鑰

如果repo是私有的,您還需要在GitHub / Bitbucket / GitLab上設置SSH'部署密鑰'。

這可以使用以下步驟完成:

獲取上面的完整部署URL,並使用/ api / sshkey替換/ deploy?ensurePublicKey = 1。 所以看起來像https:// $ mysite:BigRandomPassword@mysite.scm.azurewebsites.net/api/sshkey?ensurePublicKey = 1在此URL上運行curl,返回SSH公鑰。 它作為JSON字符串返回,因此您需要刪除引號。 它應該看起來像ssh-rsa AAAAB3NzaC1etc ...在GitHub / Bitbucket / GitLab存儲庫中將此字符串設置為“部署密鑰”。

暫無
暫無

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

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