小编Whi*_*in3的帖子

Jenkins 在带有生成报告的 docker 容器中构建

我是 Jenkins 和 Docker 的新手,即使经过一些研究,我也没有找到做这些事情的方法。

我想要 :

  • 在 docker 容器内对我的项目执行 pytest 和 python-coverage。
  • 这应该生成测试和覆盖率报告
  • 访问生成的报告并使用一些 Jenkins 插件阅读它们。

当我在本地使用 Docker 尝试时,它正在工作。我创建了一个 Dockerfile,它使用所需的库和其中的源代码创建一个 docker 镜像,然后在创建容器并运行测试时调用一个脚本。我可以看到它正在工作,因为我使用了 cat 并且能够在我的终端中看到生成的报告。

我的问题是:如何访问 Jenkins 容器内生成的报告,并在之后使用插件读取它们。

编辑:所以这里有一个我正在尝试做的例子,这样你就可以有一个更好的主意。

首先,我的 Dockerfile 示例:

# starting from debian image
FROM debian

# install pytest and coverage to execute my tests
RUN apt-get update && apt-get install -y \
    python-pytest \
    python-coverage

# add source files to the image
ADD . /HelloPython/

WORKDIR /HelloPython/

# execute shell script which run tests
CMD sh …
Run Code Online (Sandbox Code Playgroud)

pytest jenkins docker python-coverage

5
推荐指数
1
解决办法
7912
查看次数

使用Excel转义CSV文件中的引号和分隔符

我尝试使用;as分隔符在Excel中导入CSV文件,但有些列包含 ;和/或引号.

我的问题是:我可以使用双引号来忽略特定字符串的分隔符,但如果字符串中有双引号,它会忽略分隔符,直到第一个双引号,但不会在之后.我不知道它是否清楚,解释起来并不容易.

我将尝试用一个例子来解释:

假设我有这个字符串this is a;test:我在字符串周围使用双引号,忽略分隔符=>它有效.

现在,如果此字符串包含分隔符和双引号:我的技巧不再起作用.例如,如果我有字符串this; is" a;test:我在字符串周围添加双引号忽略第一部分的分隔符(部分中的分隔符this; is被正确忽略,但由于后面有双引号,Excel不会忽略下一个分隔符a;test部分.

我尽力做到尽可能清楚,我希望你能理解这是什么问题.

csv excel delimiter double-quotes

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

使用sed,在第一次出现角色之前删除所有内容

假设我有一条看起来像这样的线

Hello my first name is =Bart and my second is =Homer
Run Code Online (Sandbox Code Playgroud)

如果我想在第一次=:使用后获取所有内容,我该怎么办sed

在这个例子中,我想得到结果

Bart and my second is =Homer
Run Code Online (Sandbox Code Playgroud)

我现在正在使用,sed 's/.*[=:]//'但我得到的Homer结果(一切都在最后一个=或之后:)我想在第一个之后得到所有东西,而不是最后一个=或者:

unix sed

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

perl检查一行包含列表中一个数组的单词

我有一个包含几个单词的文件,让我们以此文件为例:

balloon
space
monkey
fruit
Run Code Online (Sandbox Code Playgroud)

我想检查字符串是否包含至少一个这样的单词.我将所有单词存储在数组中,如下所示(文件在参数中指定):

open my $exampleFile, '<', $ARGV[0];
chomp(my @exampleWords= <$exampleFile>);
close $exampleFile;
Run Code Online (Sandbox Code Playgroud)

然后我用它grep来检查这些单词中是否有一个在字符串中:

if ( grep( $string, @exampleWords ) ) 
{
    #do something
}   
Run Code Online (Sandbox Code Playgroud)

如果我以字符串为例this_is_a_balloon_example,balloon已经找到了这个单词,所以我应该进入循环.目前,似乎为任何给定的字符串输入循环.

perl

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

perl删除行上的@和=

我是perl脚本的新手,我想删除一些可以在一行开头的字符.我想删除的字符是@和/或=

这是一个文件示例:

@word <= Remove @
=word <= Remove =
@=word <= Remove @ AND =
=@word <= Remove = AND @
=@==@=@=@@word <= Remove all the = and @
Run Code Online (Sandbox Code Playgroud)

目前,我使用substr($line, 0, 1, " ") if "@" eq substr($line, 0, 1);但它只删除了第一个@.如何编辑此行以删除所有前导@=

perl

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

python 读取文件的行内容时语法无效

我想逐行读取文件,但读取时出错

with open("file.txt", "r") as f:
    for line in f:
        print line
Run Code Online (Sandbox Code Playgroud)

该文件file.txt仅包含一行,即test example.

我在执行上面的代码时遇到此错误:

File "file.txt", line 1
  test example
           ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

我只想将行内容作为字符串读取,而不是作为变量或命令或其他任何内容。

file python-2.7

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