当前位置: 首页 > 知识库问答 >
问题:

如何在ansible Playbook中只运行一个任务?

俞涵涤
2023-03-14
# Playbook for  Hadoop master servers

- name: Install the namenode and jobtracker packages
  apt: name={{item}} force=yes state=latest
  with_items: 
   - hadoop-0.20-mapreduce-jobtracker
   - hadoop-hdfs-namenode
   - hadoop-doc
   - hue-plugins

- name: start hadoop jobtracker services
  service: name=hadoop-0.20-mapreduce-jobtracker state=started
  tags:
   debug

共有1个答案

谷玉韵
2023-03-14

您应该使用标记:,如https://docs.ansible.com/ansible/latest/user_guide/playbooks_tags.html中所述

如果您有一个大的playbook,那么能够运行配置的特定部分而不运行整个playbook可能会变得很有用。

由于这个原因,Play和tasks都支持“tags:”属性。

tasks:

    - yum: name={{ item }} state=installed
      with_items:
         - httpd
         - memcached
      tags:
         - packages

    - template: src=templates/src.j2 dest=/etc/foo.conf
      tags:
         - configuration
ansible-playbook example.yml --tags "configuration,packages"
ansible-playbook example.yml --skip-tags "notification"

您还可以将标记应用于角色:

roles:
  - { role: webserver, port: 5000, tags: [ 'web', 'foo' ] }

您还可以标记basic include语句:

- include: foo.yml tags=web,foo

这两种方法都具有在include语句中标记每个任务的功能。

 类似资料:
  • 如何从Anable剧本和处理程序运行单个任务,并在该任务成功完成时收到通知,同时跳过相关剧本中的所有其他任务? 目前,我执行以下操作: 然后在任务完成后按Ctrlc。但是,这也将跳过处理程序。 我知道我可以给任务添加一个标签并使用它,就像在ansible playbook中如何只运行一个任务?,但我更希望能够在不添加标签的情况下做到这一点。这可能吗?

  • 是否可以只在指定的时间安排一次Spring服务方法?例如,当前时间是下午2点,但当我点击action按钮时,我希望我的服务方法在晚上8点开始。我很熟悉@Schedured注释,我不确定如何编写不定期运行的cron表达式。这个每天晚上8点触发。 有什么建议吗?

  • 问题内容: 我有以下使用类的课程。所以我想做的是,在运行cp1实例处理方法的同时,我要并行运行。 但是,我要按顺序cp1,所以我要它运行并完成,如果cp2没有完成或失败,那就很好。如果确实失败,我想加入结果。该示例中未返回任何内容,但我想返回结果。 为此,应该使用TaskExecutor吗?还是线程? 我只希望cp2与cp1并行运行。或者,如果我添加更多内容,例如说cp3,我希望它也可以与cp1并

  • 我正在从事一个spring boot项目,以自动化与gradle的集成测试。我最近开始在一家新企业工作,我的同事们按如下方式运行集成测试:在构建中。gradle文件有一个集成测试任务 启动任务后,应用程序开始在指定端口运行,然后打开postman,导入集合并运行测试。 我的工作是找到一种方法来跳过额外的点击,即自动运行邮递员集合。第一个想法是使用postman-run gradle插件,但由于企业

  • 我想知道是否可以在java spring boot中使用调度或spring作业只运行一次方法?我用温度变量作为开关,但我正在寻找更好更干净的方法。

  • 我有一个spark作业,它从数据库中读取数据,执行过滤、联合、2连接,最后将结果写回数据库。 然而,最后一个阶段仅在50个执行器中的一个执行器上运行一个任务。我试图增加分区的数量,使用哈希分区,但没有成功。 经过几个小时的谷歌搜索,似乎我的数据可能会但我不知道如何解决它。 有什么建议吗? 规格: < li >独立群集 < li>120核心 < li>400G内存 遗嘱 执行 人: 30个执行器(4