在我的游戏中,我 ssh 到主机并执行多个角色,但是如果我无法 ssh 到实例中,则下一个包含继续进行,我喜欢在 - 构建无法执行时退出/失败
这是一个例子,
仅供参考 - app_ec2 在 AWS 上创建一个实例并设置主机,build.yml 然后将配置应用于此实例并启动,然后用户此实例创建一个 AMI,然后创建一个 ASGroup
---
- hosts: localhost
connection: local
serial: 1
gather_facts: true
any_errors_fatal: true
max_fail_percentage: 0
vars_files:
- "vars/security.vars"
- "vars/{{ env }}/common.vars"
- "vars/server.vars"
roles:
- app_ec2
- include: build.yml
- include: launch-asg.yml
构建.yml:
- hosts: "{{ role }}"
serial: 1
gather_facts: true
sudo: yes
any_errors_fatal: true
max_fail_percentage: 0
vars_files:
- "vars/{{ env }}/common.vars"
- "vars/server.vars"
roles:
- default
- restart
- awscli
- cloudwatch-logs
- ntp
- java
- tomcat
- newrelic
- newrelic_apm
- "{{role}}"
- app_liquibase
- restart