“AWS CodeDeploy”的版本间的差异

来自Gea-Suan Lin's Wiki
跳到导航 跳到搜索
設定
外部機器
第28行: 第28行:
  
 
=== 外部機器 ===
 
=== 外部機器 ===
 當機器不在[[EC2]]上時,需要 將機器註冊到CodeDeploy上才能使用。
+
 當機器不在[[EC2]]上時,需要 用<code>register-on-premises-instance</code> 將機器註冊到CodeDeploy上 才能使用。
  
 
== 外部連結 ==
 
== 外部連結 ==

2018年5月1日 (二) 11:04的版本

AWS CodeDeployAWS提供的服務之一,用於發佈伺服器端的軟體。

簡介

設定

軟體本身有兩段設定,一段是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上後才能使用。

外部連結