AWS CodeDeploy jar

时间:2018-08-17 23:29:45

标签: amazon-web-services aws-code-deploy

我想使用AWS CodeDeploy部署jar文件,然后将其放置在EC2上然后从此处运行java -jar命令。但是我注意到,AWS CodeDeploy仅从S3中提取ziptar和tar.gz`。我在想,我将使用本地jenkins的CLI将.zip文件(包含jar)推送到S3,然后运行另一个CLI命令以启动AWS CodeDeploy,它将从S3中提取.zip。

但是我确实对AWS CodeDeploy的详细信息有疑问:

我可以使用appspec.yml发出两个命令

1)将.zip从EC3解压缩到

2)在特定位置发布java -jar

谢谢

1 个答案:

答案 0 :(得分:2)

1)您不需要发出解压缩命令,appspec.yml中的files部分用于指定要复制到ec2(目标)上文件系统的归档(源)中的文件。由代码部署代理RE https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-files.html

2)创建一个运行脚本以在钩子ApplicaitonStart下发出java -jar命令 RE https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-hooks.html

基于os linux的示例appspec.yml:

version: 0.0
os: linux
files:
  - source: ./
    destination: /home/ubuntu/myapp
hooks:
  ApplicationStart:
    - location: runapp.sh
      runas: ubuntu

runapp.sh:

#!/usr/bin/env bash
echo 'Starting my app'
cd '/home/ubuntu/myapp'
java -jar myapp.jar

在此示例中,您将在部署包中包含runapp.sh