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

只运行一个任务和处理程序

拓拔富
2023-03-14

如何从Anable剧本和处理程序运行单个任务,并在该任务成功完成时收到通知,同时跳过相关剧本中的所有其他任务?

目前,我执行以下操作:

ansible-playbook --start-at-task "task1" --step -K -i hosts playbook.yml

然后在任务完成后按Ctrlc。但是,这也将跳过处理程序

我知道我可以给任务添加一个标签并使用它,就像在ansible playbook中如何只运行一个任务?,但我更希望能够在不添加标签的情况下做到这一点。这可能吗?

共有2个答案

仉明知
2023-03-14

目前ansible-playbook还没有提供允许您运行单个任务的功能,比如< code> - task。因此,对我来说,标签和< code> - tags选项是这里最好的解决方案。

戚永福
2023-03-14

可以运行单独的角色(从<code>roles/</code>dir):

ansible -i stage.yml -m include_role -a name=create-os-user localhost

和一个单独的任务文件:

ansible -i stage.yml -m include_tasks -a file=tasks/create-os-user.yml localhost

如果将任务从角色外部化到根< code>tasks/目录(重用是通过< code>import_tasks实现的:../../../tasks/create-OS-user . yml )您可以独立于剧本/角色运行它。

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

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

  • 我在gradle项目中添加了一个任务: 现在,任务总是在任务之前运行。这很好,因为构建任务包含许多步骤。现在我想显式禁用其中一个包含的任务。

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

  • #include <stdio.h> #include <pthread.h> int a = 0; int b = 0; void *thread1_func(void *p_arg) { while (1) { a++; sleep(1); } } void *thread2_fu