AWS CodeDeploy 開始可以在 local 進行單機測試 Deploy「AWS CodeDeploy Supports Local Testing and Debugging」,在過去測試 CodeDeploy 會需要多次的 try error 在 Codedeploy 上跑 hooks 的功能,結果浪費大量的時間去跑 CI / CD 流程。
現在可以單機佈署,目前支援 local directory、local zip、S3、Github (不包含 private repository) 的方式進行 deploy,要用 local deploy 的話 CodeDeploy agent 至少要 1.0.1.1352 以上,在 /opt/codedeploy/bin 這裡多會多一支 cli codedeploy-local 可以用
詳細的文件在 deployments-local
使用方式還算簡單,以 S3 為例:
$ codedeploy-local --bundle-location s3://mybucket/bundle.tgz --type tgz
在執行 codedeploy-local 的當前目錄必須要有 appspec.yml (我花了一些時間 debug ..)
還有 codedeploy-local 這隻 cli 在 parse appspec.yml 的 permissions 參數的時候會有問題 .. 你會看到類似的錯誤
‘parse_permissions’: uninitialized constant
我嘗試把 appspec.yml 的 permissions 拿掉就好了 …