ansible - 如何成功退出剧本任务
问题描述
我有一个重复一个任务的剧本,从 ansible 任务调用 shell,但它不会在任务完成后成功退出并再次重复 shell 指令。
剧本:
---
hosts: dev-servers
tasks:
- name: clean up directoty
shell: rm -rf /opt/data/latest/*
- name: copy the file
copy: src=/home/data/metadata.zip dest=/opt/data
- name: Change directoty
shell: cd /opt/data
- name: copy the file
copy: src=/root/Run_Build.sh dest=/opt/deployment_scripts
- name: permission
shell: chmod +x /opt/deployment_scripts/Run_Build.sh
- name: deploy
command: sh /opt/deployment_scripts/Run_Build.sh
run_once: true
register: result
- debug: msg="{{ result.stdout }}"
- debug: msg="{{ result.stderr }}"
Run_Build.sh:
#!/bin/bash
Jboss_logs=/opt/jboss/jboss-eap-6.4/standalone/log/server.log
for i in {1..100}; do
sleep 10
if [ -f $Jboss_logs/server.log ]; then
if grep -e 'Deployed "deploy.war"' $Jboss_logs/server.log ; then
echo "Code successfully deployed"
exit 0
else
echo "*****************************************************************************"
echo " JBOSS is still loading deployment - please be patient .... Loading again in 10 sec"
echo "*****************************************************************************"
fi
else
echo "server log file has not been created yet, please wait for sometime."
fi
done
解决方案
推荐阅读
- line - Tableau中雷达图的连接线
- php - Symfony 5.2 PHP 8 不能使用 format_datetime() 法语
- python - SQLalchemy 类型的值
- email - CRM 动态。电子邮件。工作流程
- javascript - DevTools 未能加载 SourceMap:
- javascript - Stencil EventEmitter 不向 Vue 实例发送数据
- javascript - html网站的布局?
- websphere - 用于 json 比较的 IBM ODM UI 模型
- java - 增量如何在多线程中工作?
- php - ld:致命:文件/usr/local/lib/libiconv.so:错误的ELF类:ELFCLASS32