Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
用 AWS CodeDeploy 解決程式佈署 Gea-Suan Lin
[email protected]
Slide 2
Slide 2 text
CodeDeploy 是什麼? ● https://aws.amazon.com/tw/codedeploy/ ● 口語:「把程式丟到機器上」 ● 目前支援三種情境: ○ EC2 instance ○ On-premise instance ○ Lambda
Slide 3
Slide 3 text
CodeDeploy 的費用 ● 沒有低消,用多少算多少。 ● 佈署到 EC2 instance (同區?) 不用額外費用。 ● 佈署到 On-premise instance 目前為 USD$0.02/台/次。
Slide 4
Slide 4 text
CodeDeploy 的好處 ● 專注於 Deployment 的工具: ○ Deployment Type ○ Rollback ○ Notification ● 與 AWS 的服務整合。
Slide 5
Slide 5 text
CodeDeploy 的缺點 ● 沒有 Incremental Deployment。 ● 不是很穩定的速度。
Slide 6
Slide 6 text
其他常見的 Deploy 方案 ● 使用 SSH 的方式: ○ Capistrano ● 使用設定管理工具: ○ Chef ○ Puppet ● 使用 Container 的方式: ○ Docker
Slide 7
Slide 7 text
Live Demo ● 在 AWS 上的 EC2 instance。 ● 非 AWS 裡的 VPS。 ● 小抄: ○ https://wiki.gslin.org/wiki/AWS_CodeDeploy ● 工具: ○ https://github.com/gslin/codedeploy-makefile
Slide 8
Slide 8 text
CodeDeploy 的已知問題 ● Ubuntu 18.04 的安裝問題。 ● 無法任意下載最新版本。 ● 沒有 Queue 的機制。
Slide 9
Slide 9 text
Ubuntu 18.04 上的安裝 ● https://github.com/aws/aws-codedeploy-agent/issues/158 ○ 參考 2018/08/01 我寫的 workaround script。 ● 兩個項目要繞過: ○ 安裝程式的檢查。 ○ codedeploiy-agent 的相依性。
Slide 10
Slide 10 text
在開機時下載最新版本 ● 通常不會是太大的問題... ● 但 race codition 很討厭。
Slide 11
Slide 11 text
Queue 機制 ● 用 AWS CodePipeline 解決。
Slide 12
Slide 12 text
CodePipeline 是什麼? ● 把整套機制串起來的服務:
Slide 13
Slide 13 text
CodePipeline 的費用 ● 沒有低消,用多少算多少。 ● 一個「活著」的 Pipeline 收 USD$1/month。
Slide 14
Slide 14 text
Live Demo Again ● 串 GitHub 與 CodeDeploy。