ansible - 在ansible中执行环境文件
问题描述
我正在尝试设置一个剧本,它将在运行命令停止服务之前执行服务的 env 文件。
请注意,停止或启动服务命令仅在执行该 env 文件后才有效。
执行 env 文件的命令是. ./.env_file_name
或ksh .env_file_name
我无法在命令模块和 shell 模块中使用上述命令执行文件。
- 如何在 ansible 中执行上述 env 文件?
- 执行 env 文件后如何运行停止命令?
解决方案
如果 env 文件包含一些需要在运行 stop 之前设置的环境变量,那么您可以读取文件,将结果存储在变量中,然后使用environment关键字将它们提供给实际停止服务的任务。
或者,您可以一次在 shell 模块中添加多个命令,如下所示:
- name: Example for a shell module
shell:
cmd: |
./.env_file_name
./stop.sh (insert command to stop the service here)
推荐阅读
- javascript - 在没有库的 HTML 中附加 JavaScript 对象
- javascript - 加载内容 Ajax 不会丢失最后的内容
- java - 如何将线条绘制为组件?
- selenium - 真正的 chrome 浏览器和 chromedriver 的区别?
- git - 使用 fetch 代替带有 rebase 标志的 magit pull 等效于什么?
- python - 当许多.py文件导入重复包时,如何保持规范的软件工程?
- java - 从 String 获取 JSON 名称
- javascript - 显示 blob 2 次
- arrays - Julia 1.4.1 中发现的不稳定性:重复的数组构造导致下一个“print”或“println”调用随机中断
- python - AWS Lambda 的 HTTPie 命令 (Python3.8)