小编fer*_*rdy的帖子

将文件复制到ansible主机并替换自定义变量

我正在开发一个ansible-playbook,它应该有助于为持续交付管道生成构建代理.在其他问题中,我需要在这样的代理上安装oracle客户端.我想做点什么

- name: "Provide response file"
  copy: src=/custom.rsp dest=/opt/oracle 
Run Code Online (Sandbox Code Playgroud)

在custom.rsp文件中,我有一些变量要替换.通常,可以使用单独的shell命令来执行此操作:

- name: "Substitute Vars"
  shell: "sed 's|<PARAMETER>|<VALUE>|g' -i /opt/oracle/custom.rsp"
Run Code Online (Sandbox Code Playgroud)

不过我不喜欢它.应该有一种更方便的方法来做到这一点.有人给我一个暗示吗?

copy ansible ansible-playbook

4
推荐指数
1
解决办法
1640
查看次数

将值附加到空列表的最佳实践

我只是对以下代码片段不起作用感到好奇,该代码片段应初始化一个空列表,并在运行时追加一个初始值。第二个片段正在工作。它出什么问题了?是否有进行此类初始化的最佳实践?

>>> foo = [].append(2)
>>> print foo
None
>>> foo = []
>>> foo.append(2)
>>> print foo
[2]
Run Code Online (Sandbox Code Playgroud)

编辑:似乎我对语法有误解。如下面已经指出的,append总是返回None作为结果值。我首先想到的是[]将返回一个空的列表对象,在该对象的附加项中应添加第一个元素,然后将该列表分配给foo。错了

python initialization list

2
推荐指数
1
解决办法
2万
查看次数

打印功能的Spock测试输出

我只是想知道我如何测试执行某些内容的print的groovy函数的输出。所以我写的愚蠢类是:

class FriendlyGreeterLib {
    def greet(name) {
        println "${name.capitalize()}"
    }
}
Run Code Online (Sandbox Code Playgroud)

如果greet()返回字符串,则相应的测试将起作用。但是如何检查printlnto stdout的输出...

import spock.lang.Shared
import spock.lang.Specification

class FriendlyGreeterLibTest extends Specification{

    @Shared lib

    def setupSpec() {
        lib = new FriendlyGreeterLib()
    }

    def "FriendlyGreeterLib greets capitalized"() {
        expect:
        lib.greet(x) == y

        where:
        x | y
        'fred' | 'Fred'
        'FRED' | 'FRED'
        'fRED' | 'FRED'
    }
}
Run Code Online (Sandbox Code Playgroud)

testing groovy stdout spock

2
推荐指数
1
解决办法
1597
查看次数