「AWS CodeDeploy」:修訂間差異
跳至導覽
跳至搜尋
第32行: | 第32行: | ||
=== 外部機器 === | === 外部機器 === | ||
當機器不在[[EC2]]上時,需要用<code>register-on-premises-instance</code>將機器註冊到CodeDeploy上後才能使用。 | 當機器不在[[EC2]]上時,需要用<code>register-on-premises-instance</code>將機器註冊到CodeDeploy上後才能使用。 | ||
== 參考資料 == | |||
{{Reflist|2}} | |||
== 外部連結 == | == 外部連結 == |
於 2018年5月1日 (二) 19:20 的修訂
AWS CodeDeploy是AWS提供的服務之一,用於發佈伺服器端的軟體。
簡介
安裝
在伺服器端需要安裝Agent,這隻Agent會負責取得檔案並且執行設定的步驟[1]。
設定
軟體本身有兩段設定,一段是Deploy的發起端透過awscli呼叫,另外一段是在appspec.yml
定義在伺服器上的行為。
發起端
通常會有兩個指令:
- 將現在的目錄打包起來傳到S3上。可能會使用
--ignore-hidden-files
避免.git
或是.svn
被包進去,但這個方式會使得.htaccess
不會被包進去,對於使用Apache的使用者來說要注意。 - 要求CodeDeploy送指令到各機器上抓檔案。
$ aws deploy push --application-name "${APPLICATIO_NAME}" --region us-east-1 --s3-location s3://${S3_BUCKET}/${GIT_BRANCH}-${GIT_HASH}
$ aws deploy create-deployment --application-name "${APPLICATION_NAME}" --deployment-group-name "${DEPLOYMENT_GROUP_NAME}" --region us-east-1 --s3-location bucket="${S3_BUCKET},key=${GIT_BRANCH}-${GIT_HASH},bundleType=zip"
伺服器端
在appspec.xml
內最簡單的設定就是指定要將這包檔案解到哪邊:
version: 0.0
os: linux
files:
- source: /
destination: /srv/www.example.com
外部機器
當機器不在EC2上時,需要用register-on-premises-instance
將機器註冊到CodeDeploy上後才能使用。