我的剧本中的每个角色都以以下代码结尾:
- include_tasks: includes/log_role_completion.yml this_role={{ role_name }}
Run Code Online (Sandbox Code Playgroud)
它用于(在剧本的末尾)在目标服务器上写入日志,指示 PB 何时启动(在 PB 的开头有一个任务),运行了什么角色,以及何时(开始和结束时间相同,但那是另一天)。
问题是,在 Ansible 2.7 中,我现在收到由上面一行引起的错误:
- include_tasks: includes/log_role_completion.yml this_role="{{ role_name }}"
^ here
We could be wrong, but this one looks like it might be an issue with
missing quotes. Always quote template expression brackets when they
start a value. For instance:
Run Code Online (Sandbox Code Playgroud)
这一直工作到 2.7,并且很有用 - 我不想失去它。我试过在该行的“includes...}}”部分加上引号,但无济于事。
PS 我知道 Ansible 可以写日志 - 我觉得这更有用。另外,我知道 include_tasks 被标记为“预览”,因此可能会更改,但我找不到发行说明来告诉我它是否有。
我正在尝试创建一个用于翻录 CD 的 Docker 映像(使用 abcde)。这是 Dockerfile 的相关部分:
FROM ubuntu:17.10
MAINTAINER Graham Nicholls <graham@rockcons.co.uk>
RUN apt update && apt -y install eject vim ruby abcde
...
Run Code Online (Sandbox Code Playgroud)
不幸的是,包“abcde”引入了一个邮件客户端(不确定是哪个),并且 apt 试图通过询问要配置什么类型的邮件连接(smarthost/relay 等)来配置它。
当 docker 运行时,它似乎没有从 stdin 读取,所以我无法重定向到 docker 进程。
我试过--nodeps与 apt 一起使用(并用 apt-get 替换 apt);不幸的是,--nodeps似乎不再是受支持的选项并返回:
E: 命令行选项 --nodeps 与其他选项组合不理解
有人建议使用 expect 来回答类似的问题,我宁愿避免。这似乎是一个“很难用谷歌搜索”的问题——我找不到任何东西。
那么,有没有办法将答案传递给 apt 中的配置,或者防止 apt 拉入邮件客户端,这会更好 - 我不打算将更新发送到 cddb。
我运行Kubuntu,并想安装最新的稳定Ruby版本,截至撰写时为2.4.2。不幸的是,Ubuntu有点落后:17.10具有以下功能:
$ ruby --version
ruby 2.3.3p222 (2016-11-21) [x86_64-linux-gnu]
$
Run Code Online (Sandbox Code Playgroud)
我在Google上搜索了很多建议,但这些建议都不是优雅的。我不想使用rvm(它没有任何问题-我只想更新我的“基本”红宝石)。从源代码构建是可以的,除了它至少默认为安装在/ usr / local下的某个位置,并将旧版本保留在原位。我想升级到2.4.2-可能使用rvm安装2.5。
我已经尝试过在下面的评论中使用建议。PPA似乎没有2.4。当我使用apt install ruby 2.4 *时,*是正则表达式,因此匹配2. {anything_or_nothing},因此尝试拉入2.3,这不是我想要的-例如
$ sudo apt install ruby2.4*
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'ruby2.3' for regex 'ruby2.4*'
Note, selecting 'uwsgi-plugin-rack-ruby2.3' for regex 'ruby2.4*'
Note, selecting 'ruby2.3-dev' for regex 'ruby2.4*'
Note, selecting 'ruby2.3-doc' for regex 'ruby2.4*'
Note, selecting 'libruby2.3' for regex 'ruby2.4*'
Note, selecting 'ruby-ruby2ruby' for regex 'ruby2.4*'
Note, selecting 'ruby2.3-tcltk' for regex 'ruby2.4*'
libruby2.3 is already …Run Code Online (Sandbox Code Playgroud)