我在AWS服务器上部署了一个容器化(Docker) Django-python应用程序,我已经将其配置为cloudwatch。正如我们所知,项目的启动从appspec文件开始。appspec包含了docker构建的运行命令。
可以通过ssh在/opt/code-部署/.中通过代码部署代理监视appspec文件日志。同时也观察云彩。
我需要:
1)在jenkins控制台日志中显示特定于部署ID的日志。
2)如果部署没有显示任何错误,则构建应该通过传递。
3)如果部署在通过dockerfile创建映像时在ssh日志中显示任何错误,则如果失败,则生成
粘贴我的appspec文件:
version: 0.0
os: linux
files:
- source: .
destination: /tmp
hooks:
BeforeInstall:
- location: install/aws/instance_clean_up
timeout: 60
runas: root
ApplicationStart:
- location: install/aws/docker_cleanup
timeout: 60
runas: root
- location: install/aws/docker_build
timeout: 600
runas: root发布于 2019-12-17 20:11:56
对于#1,提取Jenkins上的信息并不容易,CodeDeploy并不是通过API流这些日志。您可以将部署代理日志同步到CloudWatch,并尝试使用https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SubscriptionFilters.html。或者,Beats+Logstash+Elasticsearch和向Elasticsearch发送查询,但是如果您在基础结构中不使用ELK堆栈,这会使您的设置变得非常复杂。
在#2和#3的情况下,使用CodeDeploy服务员应该帮助- https://docs.aws.amazon.com/cli/latest/reference/deploy/wait/deployment-successful.html
aws deploy wait deployment-successful --deployment-id $DEPLOYMENT_ID
您可以通过$DEPLOYMENT_ID作为响应在CodeDeploy中触发部署,从而获得deploymentId值。
https://stackoverflow.com/questions/59375877
复制相似问题