ansible-playbook task 指定位置执行

news2024/11/24 18:33:13

文章目录

    • 执行顺序
    • 指定执行
      • --tags
      • –start-at
      • --skip-tags
      • --step
      • 混合

执行顺序

在这里插入图片描述
1.检查play中是否存在pre_tasks定义,存在的话则顺序执行pre_tasks中定义的所有tasks
2.如果存在pre_tasks定义,则检查是否存在触发handler,如存在则顺序执行相关触发handlers
3.检查是否存在roles定义,如存在则顺序执行roles下的所有tasks
4.检查是否存在task, 如存在则顺序执行所有定义的task
5.检查roles和task中是否存在触发handler,如存在顺序执行
6.检查是否存在post_tasks定义,存在则顺序执行post_tasks中定义的所有tasks
7.如果存在post_tasks,则检查post_tasks下面的tasks是否存在触发handlers,如存在则顺序执行

一个包含pre_tasks, roles和post_tasks的实例

---
- hosts: tag_ansible_group_windows_webservers
  serial: 1
  gather_facts: False
  connection: winrm
  vars:
    ansible_ssh_port : 5986

  # These are the tasks to run before applying updates:
  pre_tasks:
  - name: Remove host from load balancing pool
    local_action:
      module: ec2_elb
      region: us-east-1
      instance_id: "{{ ec2_id }}"
      ec2_elbs: "ansible-windows-demo-lb"
      wait_timeout: 330
      state: 'absent'

  roles:
  - web

  # These tasks run after the roles:
  post_tasks:
  - name: Wait for webserver to come up
    local_action: wait_for host={{ inventory_hostname }} port=80 state=started timeout=80

  - name: Add host to load balancing pool
    local_action:
      module: ec2_elb
      region: us-east-1
      instance_id: "{{ ec2_id }}"
      ec2_elbs: "ansible-windows-demo-lb"
      wait_timeout: 330
      state: 'present'


指定执行

官方大致提供如下几个特性:对于测试或调试新的playbook很有帮助.

  • 1:tag
  • 2:start-at
  • 3:skip-tags
  • 4:step

Demo playbook:

---
- name: shutdown etcd
  service: name=etcd state=stopped enabled=no
  ignore_errors: yes
  tags:
      - shutdown

- name: del etcd dir
  shell: 'rm -rf {{ item }}'
  with_items:
      - { ETCD_DIR }
  tags:
      - deldir

- name: create etcd dir
  file:
       path: '{{ item }}'
       state: directory
       mode: 755
  with_items:
      - { ETCD_DIR }
  tags:
      - mkdir

–tags

如果你只想运行 playbook 中的”shutdown”和”mkdir”,你可以这样做

ansible-playbook example.yml – tags “shutdown,mkdir”
ansible-playbook -i inventory/local/inventory.ini --become --become-user=root cluster.yml --tags  etchosts

tag 特性是一个不错的功能,但如果真的是要维护一个大型的 playbook,还是建议将 playbook 按功能或应用拆分成多个 playbook,然后再在主 playbook include 其他子 playbook,这样即既利于维护也方便管理.

–start-at

从指定任务开始运行palybook以及分步运行playbook,如果你想从指定的任务开始执行playbook,可以使用–start-at选项:
以下命令就会在名为”deldir”的任务开始执行你的playbook.

ansible-playbook playbook.yml --start-at="deldir"

–skip-tags

如果你只想执行 playbook 中某个特定任务之外的所有任务,你可以这样做:

ansible-playbook example.yml – skip-tags “deldir”

–step

ansible-playbook playbook.yml --step

比如你有个名为``deldir``的任务,playbook执行到这里会停止并询问:

Perform task: deldir (y/n/c):

“y”回答会执行该任务,
”n”回答会跳过该任务,
而”c”回答则会继续执行剩余的所有任务而不再询问你.

混合

ansible-playbook playbook.yml --tags myrole --start-at-task "task_name"

参考:

  • ansible-playbook运行步骤调度

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/429829.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java中的锁是什么意思,有哪些分类?

Java锁(Java Locks)是Java编程语言中用于实现多线程同步和互斥的机制。在并发编程中,多线程同时访问共享资源可能导致竞态条件(Race Condition)和其他并发问题,Java锁提供了一种控制多线程并发访问的方式&a…

FluxMQ—物联网高性能MQTT网关

FluxMQ—物联网高性能MQTT网关 随着物联网技术的快速发展,人们越来越意识到实时、可靠、安全的数据传输对于智能化的生产与生活的重要性。因此,市场对于高性能的物联网数据传输解决方案有着强烈的需求。FluxMQ正是为满足这一需求而诞生的一款高性能、可…

Adobe 观察 |最低工资标准来了,学会这几招,让加薪更简单

最新调整后的全国各地区最低工资标准情况来了! 人力资源和社会保障部新发布的数据显示,截至今年4月1日,共有15个地区第一档月最低工资标准在2000元及以上,分别是上海(2590元)、深圳(2360元&…

Pandas 2.0发布——更快的速度更低的内存占用

【重磅】Pandas 2.0发布!更快的速度更低的内存占用! Pandas 是一个用于操作数据的 Python 库,在 Python 开发人员中非常流行。尤其在数据科学和机器学习领域中,Pandas已经成为不可或缺的基础库。 4月3日,Pandas 2.0正…

ESLint 与 Prettier 配合解决代码格式问题

可以了解下Prettier,官网:Prettier 中文网 Prettier 是一个“有态度”的代码格式化工具 Prettier常见的一些配置: tabWidth:指定缩进宽度,默认为 2,建议设置为 4;printWidth:指定代…

MyBatis核心配置文件详解

<?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><environments default"…

页面布局基础知识

一、布局方案 1、什么是静态布局 概念 静态布局&#xff0c;也称为固定布局&#xff0c;是一种传统网页设计。页面布局使用绝对长度单位&#xff0c;采用固定宽度。忽略浏览器实际&#xff0c;网页布局始终按照最初写代码时的布局来显示。 优点&#xff1a;简单 缺点&#xf…

可视化图表组件体系的构建(内附全套开源文件)

Part01————————前言 EasyV作为一个低代码数字孪生可视化搭建平台&#xff0c;其图表组件作为可视化项目建设的基础构成发挥着重要的作用。 经过多年可视化项目交付经验&#xff0c;沉淀了一套形态多样、样式精细、高配置度的数据可视化图表。 Figma开源文件社区获取入…

【MySQL | 进阶篇】05、MySQL 视图、触发器讲解

目录 一、视图 1.1 介绍 1.2 语法 1.2.1 演示示例 1.3 检查选项 1.3.1 CASCADED 级联 1.3.2 LOCAL 本地 1.3.3 示例演示 1.4 视图的更新 1.4.1 示例演示 1.5 视图作用 1.6 案例 二、触发器 2.1 介绍 2.2 语法 2.3 案例 2.3.1 插入数据触发器 2.3.2 修改数据…

国内版 ChatGPT值不值得上手----PlumGPT测评

前言&#xff1a;什么是PlumGPT&#xff08;国内版的chatgpt&#xff09;&#xff0c;PlumGPT国内版ChatGPT是一个基于GPT-3.5算法的人工智能聊天机器人&#xff0c;能够通过自然语言与用户交互&#xff0c;提供各种服务和解答各种问题。本文将对PlumGPT国内版ChatGPT进行全面测…

NetSuite GPT的辅助编程实践

作为GPT综合症的一种表现&#xff0c;我们今朝来探究下GPT会不会抢了我们SuiteScript的编程饭碗&#xff0c;以及如何与之相处。以下内容来自我个人的实践总结。 我们假设一个功能场景&#xff1a; 为了让用户能够在报价单上实现“一键多行”功能&#xff0c;也就是在报价中可…

【精华】AIGC之文生视频及实践应用

AIGC之文生视频及实践应用 &#xff08;一&#xff09;序言 从 Stable Diffusion 到 Midjourney&#xff0c;再到 DALLE-2&#xff0c;文生图模型已经变得非常流行&#xff0c;并被更广泛的受众使用。随着对多模态模型的不断拓展以及生成式 AI 的研究&#xff0c;业内近期的工…

78-Linux_tcp服务器客户端编程流程

tcp服务器客户端编程流程一.c/s模型1.什么是c/s模型?2.c/s模型的逻辑二.TCP服务器端和TCP客户端的工作流程1.流程2.TCP三次握手3.TCP四次挥手一.c/s模型 1.什么是c/s模型? 答:(c/s)模型即(客户端/服务器端)模型 所有的客户都通过服务器端访问所需资源. 模型如图所示: 2.c…

Python样条插值和坐标映射

文章目录样条插值基本原理scipy实现坐标映射样条插值基本原理 由于数组本身是格点化了的&#xff0c;所以对数组的旋转、平移和缩放&#xff0c;并不像实数空间中那么简单。以一维的平移为例&#xff0c;现有三个点&#xff0c;坐标为0,1,2&#xff0c;值对应为a,b,c&#xff…

小黑子—多媒体技术与运用基础知识二:数字音频处理技术

多媒体技术与运用2.0多媒体系列第二章1. 音频处理概述1.1 什么是声音1.2 声音的基本参数1.3 人的听觉特性1.4 音频信号处理过程2.音频的数字化2.1 音频的采样2.2 音频的量化2.3 声道数2.3 音频的编码与压缩2.4 数字音频的质量3.音频文件格式及标准3.1 波形文件格式3.2 MPEG音频…

打造高效Android应用,从Hilt注入框架开始

概述 在 Android 开发中&#xff0c;注入解耦是一种设计模式&#xff0c;用于解决代码耦合的问题。通过使用注入技术&#xff0c;可以将应用程序中的不同部分解耦&#xff0c;从而使得代码更加灵活、易于维护和升级。 在 Android 中&#xff0c;注入解耦通常使用依赖注入&…

R -- 如何处理缺失数据

brief 识别缺失值 当传入向量&#xff0c;返回的是包含逻辑向量的等长向量。complete.cases()用来识别矩阵或者数据框有没有包含缺失值的行&#xff0c;若整行数据完整则返回TRUE&#xff0c;若行数据包含缺失值&#xff0c;不管几个缺失值则返回FALSE。 探索缺失值模式 列表图…

高速存储器

由于CPU和主存储器之间的速度上的不匹配限制了计算机系统的工作速度&#xff0c;为了提高CPU和主存之间的数据传输率&#xff0c;可以采用并行技术的存储器&#xff1a; 双端口存储器多模块交叉存储器 双端口存储器 同一个存储器具有两组相互独立的读写控制线路&#xff0c;…

Direct3D 12——灯光——聚光灯光

一个与聚光灯光源&#xff08;spotlight&#xff09;相近的现实实例是手电筒。从本质上来说&#xff0c;聚光灯由位置Q向方向d 照射出范围呈圆锥体的光。 一个聚光灯以位置Q向方向d发射出半顶角为Φmax 的圆锥体范围的光 其中&#xff0c;P为被照点的位置&#xff0c;Q是聚光…

基于html+css的盒子展示8

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…