2015-07-21 56 views
3

GitLab庫Azure的Web應用程序我有GitLab,這是我需要發佈到Azure的Web應用程序上的一些任意觸發一個Git倉庫(即:不能觸發每次更新資源庫,但我們在我們如何觸發出版物方面相當靈活)。至於我可以看到它,要做到這一點最簡單的方法是創建也會莫名其妙地被啓動,然後將驗證到GitLab,拉庫,併發布了Azure的自動化PowerShell腳本。但是,我不確定如何在沒有登錄到Azure管理門戶的情況下觸發任意Powershell腳本,或者如何獲取Azure的部署密鑰以使其通過Gitlab進行身份驗證。發佈到從觸發

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

+0

看看你的@SamuelFront的答案打擊 – Mastro

回答

3

UPDATE:更妙的是更先進的最新文章是在這裏: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-automatic#faq

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

底部區域是最有用的部分。它應該在GitLab上工作。 只是爲了清除它,Kudo服務已經在您所有的天藍色Web項目上運行,並且應該已經在那裏了。只需將「scm」添加到網址即可訪問它。文章

好的底部位置:

設置Web掛鉤等等捻得到通知時部署情況

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

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

一旦你的網址,你可以將其設置爲GitHub上/到位桶/ GitLab掛鉤。

對於私人回購協議,成立了部署關鍵

如果回購是私有的,你還需要建立一個SSH「部署的關鍵」上GitHub上/到位桶/ GitLab

這可以通過以下步驟來完成:

採取全面部署URL上方,並替換/與/ API/SSHKEY ensurePublicKey = 1部署?因此,它會像https://開頭$ mysite的?這個URL,它返回一個SSH公鑰[email protected]/api/sshkey ensurePublicKey = 1 運行卷曲。它作爲JSON字符串返回,因此您需要刪除引號。它應該看起來像SSH-RSA AAAAB3NzaC1etc ... 設置該字符串爲您的GitHub /到位桶/ GitLab庫中的「部署的關鍵」。

+0

好,你做了你的建議。 – Mastro

+0

不錯!感謝您的更新 - 這是一個堅實的答案。 – Mogsdad

+0

你有沒有設法爲分支配置?希望每個分支都有一個部署插槽,並且現在向分區中的任何分支提交將觸發部署。 http://stackoverflow.com/questions/36915380/gitlab-continuous-deployment-to-azure-web-app – Tim