Bil*_*lly 3 amazon-web-services aws-code-deploy
我想使用 AWS CodeDeploy 部署 jar 文件,然后java -jar在 EC2 上运行我的命令。但我注意到 AWS CodeDeploy 仅从S3 中提取zip,和 tar.gz`。tar我想我将使用本地 jenkins 中的 CLI 将 .zip 文件(包含 jar)推送到 S3,然后运行另一个 CLI 命令来启动 AWS CodeDeploy,该命令将从 S3 中提取 .zip。
不过,我对 AWS CodeDeploy 的详细信息确实有疑问:
我可以使用 appspec.yml 发出两个命令吗?
1) 将 .zip 从 S3 解压到 EC2 上
java -jar2)在特定位置发出?
谢谢
1) 您不需要发出 unzip 命令,appspec.yml 中的文件部分用于指定您希望复制到 ec2(目标)上的文件系统的存档(源)中的文件,并将由代码完成部署代理 RE https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-struction-files.html
2) 创建一个运行脚本以在钩子 ApplicaitonStart RE https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-struction-hooks.html下发出 java -jar 命令
基于 os linux 的 appspec.yml 示例:
version: 0.0
os: linux
files:
- source: ./
destination: /home/ubuntu/myapp
hooks:
ApplicationStart:
- location: runapp.sh
runas: ubuntu
Run Code Online (Sandbox Code Playgroud)
运行应用程序.sh:
#!/usr/bin/env bash
echo 'Starting my app'
cd '/home/ubuntu/myapp'
java -jar myapp.jar
Run Code Online (Sandbox Code Playgroud)
在此示例中,您将在部署包中包含 runapp.sh
| 归档时间: |
|
| 查看次数: |
2714 次 |
| 最近记录: |