# Continuous Deployment

初期上線總是有一些奇怪的東西沒測到或是要修改的，這時候就可以透過持續佈署的方式，來讓站台保持在最新的狀態。

在App Service裡面，瀏覽到Deployment的區段，底下有一個Deployment Center，選它

![App Service的佈署中心](https://3638419469-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQPEaltBB6ZofvnpVIs%2Fuploads%2FEAizrcnEDfH8OOlpqMFn%2FCD_01.png?alt=media\&token=a6073b8f-b13a-4e1d-b528-f9c01c2f0289)

接著就是填寫docker hub上的一些相關資訊了，如下圖

> 1. Source -> 選擇Container Registry
> 2. Container Type -> 選Single Container，因為我們docker只有一個container需要執行而已，所以選這個就好了
> 3. Registry Source -> 稍早我的方案是用Docker hub，Azure也有跟docker hub串接，所以這裡選Docker Hub即可
> 4. Repo Access -> 個人是不愛公開image檔案，所以我在docker hub上那邊已經把repo設定為Private了，所以這裡也跟著選Private.
> 5. Full Image Name and Tag -> 就輸入你在docker hub上看到的 帳號/repo名稱:標籤
> 6. Continuous Deployment -> 選On
> 7. 點一下複製的按鈕，把Webhook URL複製起來，等等在Docker Hub的設定介面會用到

![填入docker hub相關資訊](https://3638419469-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQPEaltBB6ZofvnpVIs%2Fuploads%2FncMdhZSUAIiQQd9YZNco%2FCD_02.png?alt=media\&token=f77a614d-3707-4b70-9ed7-8ad4a7400f42)

接著將畫面切換到Docker Hub的頁面去，登入後選擇你要佈署的Repo，並點選Webhooks

![設定webhooks](https://3638419469-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQPEaltBB6ZofvnpVIs%2Fuploads%2F5H2SwSiHzhRdRJflzUMJ%2Fdocker_01.png?alt=media\&token=b0f03f86-67cf-44f3-976d-97b9abd1b95a)

1. Webhook name -> 輸入一個方便管理的名稱
2. Webhook URL -> 貼上剛剛在App Service複製的URL
3. Create -> 點下去存檔，完成

![設定Webhook URL](https://3638419469-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MQPEaltBB6ZofvnpVIs%2Fuploads%2F2fQe68R3BlbteNfrI3cy%2Fdocker_02.png?alt=media\&token=575bb2e5-52f6-436f-a2f3-2692ccb84a19)

設定完成後，就再自己的本機電腦試著docker push，接著再到App service的Log Stream裡面觀察，就會發現到它開始自動佈署了，如果檔案差異不大的話，佈署速度很快，約莫2分鐘就完成了。
