GVKun编程网logo

在 linux (Jenkins) 中的字符串匹配正则表达式之前添加新行(java正则表达式匹配linux相对路径)

3

想了解在linux(Jenkins)中的字符串匹配正则表达式之前添加新行的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于java正则表达式匹配linux相对路径的相关问题,此外,我们还将为您

想了解在 linux (Jenkins) 中的字符串匹配正则表达式之前添加新行的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于java正则表达式匹配linux相对路径的相关问题,此外,我们还将为您介绍关于centos 下搭建 Jenkins 持续集成环境 (安装 jenkins)、jenkins (5): jenkins 邮件报警配置、Jenkins - 基于 Docker 的 Jenkins 安装、Jenkins Linux master 和 Jenkins windows server 2019 slave 之间的连接问题的新知识。

本文目录一览:

在 linux (Jenkins) 中的字符串匹配正则表达式之前添加新行(java正则表达式匹配linux相对路径)

在 linux (Jenkins) 中的字符串匹配正则表达式之前添加新行(java正则表达式匹配linux相对路径)

如何解决在 linux (Jenkins) 中的字符串匹配正则表达式之前添加新行

嗨,我正在尝试在处理之前进行一些 CSV 操作。现在我正在为以下场景苦苦挣扎。

输入文件(无换行符):

timeStamp,elapsed,label,responseCode,responseMessage,threadName,success,failureMessage,bytes,sentBytes,Latency,IdleTime  1611013105559,492,REST API,200,REST API 1-1,true,1221,32292,0  1611013107054,575,DB check,OK,177,0  1611013251449,231,null 0,"java.sql.sqlException: Cannot create PoolableConnectionFactory (ORA-28040: No matching authentication protocol  )",false,Row not inserted properly.,89,0

所需的输出(时间戳前的新行):

timeStamp,IdleTime  
1611013105559,0  
1611013107054,0  
1611013251449,0  

实际输出:

timeStamp,IdleTime  
[0-9]{13},0  
[0-9]{13},0

使用这个命令:

awk -v patt=[0-9]{13} ''$0 ~ patt {gsub(patt,"\\n"patt)}1'' < input.jtl > output.jtl

有人可以帮忙吗?

问候简

解决方法

您可以使用 GNU sed 之类的

sed -E ''s/\\<[0-9]{13}\\>/\\n&/g'' input.jtl > output.jtl

详情

  • -E - 启用 POSIX ERE 语法(较少需要转义)
  • \\<[0-9]{13}\\> - 匹配前导词边界、13 位数字和尾随词边界
  • \\n& - 用换行符和匹配本身替换匹配
  • g - 一行中出现的所有内容。
,

对于 awk,您能否尝试使用所示示例进行以下操作、编写和测试。

awk ''{gsub(/[0-9]{13},[0-9]{3}/,ORS"&")} 1'' Input_file > output.jtl

说明: 简单地将gsub 匹配的正则表达式 [0-9]{13},[0-9]{3} 值替换为 ORS(换行)和匹配的值本身。 1 将打印已编辑/未编辑的当前行。

,

如果您想使用反向引用,请使用 gensub。在你的情况下,我们可能会做

awk ''{print gensub(/([0-9]{13})/,"\\n\\\\1","g")}'' input.jtl

请注意,我将 [0-9]{13} 括在 () 中,从而使其成为第一个(也是唯一一个)组,然后我将其引用为 \\\\1g 表示全局替换(所有出现) . gensub 确实返回新字符串而不是更改,所以我 print 它。如果您想了解有关 gensub 的更多信息,请阅读 String Functions docs。

centos 下搭建 Jenkins 持续集成环境 (安装 jenkins)

centos 下搭建 Jenkins 持续集成环境 (安装 jenkins)

centos 下搭建 Jenkins 持续集成环境 (安装 jenkins)

1、安装 JDK

yum install -y java

2、安装 jenkins

添加 Jenkins 库到 yum 库,Jenkins 将从这里下载安装。

1 wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
2 rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
3 yum install -y jenkins

如果不能安装就到官网下载 jenkis 的 rmp 包,官网地址(http://pkg.jenkins-ci.org/redhat-stable/)

1 wget http://pkg.jenkins-ci.org/redhat-stable/jenkins-2.7.3-1.1.noarch.rpm
2 rpm -ivh jenkins-2.7.3-1.1.noarch.rpm

配置 jenkis 的端口

vi /etc/sysconfig/jenkins

找到修改端口号:

JENKINS_PORT="8080"  此端口不冲突可以不修改 

3、启动 jenkins

service jenkins start/stop/restart
  • 安装成功后 Jenkins 将作为一个守护进程随系统启动
  • 系统会创建一个 “jenkins” 用户来允许这个服务,如果改变服务所有者,同时需要修改 /var/log/jenkins, /var/lib/jenkins, 和 /var/cache/jenkins 的所有者
  • 启动的时候将从 /etc/sysconfig/jenkins 获取配置参数
  • 默认情况下,Jenkins 运行在 8080 端口,在浏览器中直接访问该端进行服务配置
  • Jenkins 的 RPM 仓库配置被加到 /etc/yum.repos.d/jenkins.repo

4、打开 jenkins 

在浏览器中访问 
首次进入会要求输入初始密码如下图, 
初始密码在:/var/lib/jenkins/secrets/initialAdminPassword 

选择 “Install suggested plugins” 安装默认的插件,下面 Jenkins 就会自己去下载相关的插件进行安装。 

创建超级管理员账号 

分类: 运维

jenkins (5): jenkins 邮件报警配置

jenkins (5): jenkins 邮件报警配置

参考:  https://blog.csdn.net/u013066244/article/details/78665075

1.  使用 增强版的邮件通知

1.1  安装插件

 

1.2.  系统配置

Manage Jenkins--->Configure System 配置。  如下:

这里我用的 163 的邮件服务器(smtp.163.com). 注意: 下面的密码要写授权码。

 

 

 

接上面。Default Recipients 填写的是 邮件的接收者,逗号隔开就可。

 

 

接上面:  下面是 邮件的内容, 网上找的模版,试验后切实可行。

 

模版的具体内容如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
</head>

<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"
    offset="0">
    <table width="95%" cellpadding="0" cellspacing="0"
        style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
        <tr>
            <td>
                <h2>
                    <font>来自Mr.Jenkins的邮件通知</font>
                </h2>
            </td>
        </tr>
        <tr>
            <td>
                <br />
                <b><font color="#0B610B">构建信息</font></b>
               <hr size="2" width="100%" align="center" />
             </td>
        </tr>
        <tr>
            <td>
                <ul>
                    <li>项目名称 : ${PROJECT_NAME}</li>
                    <li>触发原因 :${CAUSE}</li>
                    <li>构建日志 : <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
                    <li>单元测试报告 :<a href="${BUILD_URL}testReport/">${BUILD_URL}testReport/</a></li>
                    <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>

                </ul>
            </td>
        </tr>
                <tr>
            <td><b><font color="#0B610B">构建日志:</font></b>
            <hr size="2" width="100%" align="center" /></td>
        </tr>
        <tr>
            <td><textarea cols="80" rows="30" readonly="readonly"
                    style="font-family: Courier New">${BUILD_LOG}</textarea>
            </td>
        </tr>
    </table>
</body>
</html>

 

继续接上面。   Debug 打开是用来排错的,关掉

 

 

1.3  job  中去设置 构建后发送邮件的动作

Project Recipient List 接受人这里使用的默认的,也可以自定义,用逗号隔开

 

 

接上面:

 

 

继续接上面。  

注意: 这里的 Tirggers 一定要去配置 Send To 选择 REcipient List (收件人列表),默认这里是 Developers.

我自己还另外添加了一个 Success Tirggers . 构建成功也会发邮件.

 

Jenkins - 基于 Docker 的 Jenkins 安装

Jenkins - 基于 Docker 的 Jenkins 安装

  1. 概述

    1. 安装 Jenkins
    2. 基于 Docker
    3. 这个有点 水一发 的性质...
  2. 场景

    1. 学习 Jenkins 第一步, 当然是安装
    2. 但是 安装的方法 很多
      1. Jenkins 是基于 Java 的
        1. 所以是个 跨平台 的产品
        2. 既然跨平台, 就会有多重方式
      2. 我选择了比较简单的一种
        1. 基于 Docker
          1. 原因
            1. Docker 环境比较好搭建
            2. 环境坏了, 可以随时重来
  3. 准备

    1. OS
      1. CentOS 7
    2. docker
      1. 18.09
    3. Jenkins
      1. 使用的是 latest 版本的镜像

1. 搭建步骤

1. 拉取 docker 镜像

  1. 命令

    # 这里采用 官方镜像
    # 如果 需要其他镜像, 可以修改参数
    > docker pull jenkins
    
  2. 验证

    > docker image ls
    

2. 启动 jenkins 容器

  1. 命令

    # 格式不太好, 中间可以用 \ 符号来折行的
    # --name 给容器命名为 jenkins
    # -u root 使用 root 启动
    # -d 表示以 守护进程 方式启动
    # -p 8080:8080 将 宿主机 的 8080 端口, 与 容器 的 8080 端口绑定, 建议做这个处理
    # -v jenkins-data:/var/jenkins_home 将 jenkins 的数据目录, 挂载到本地, 这个可以方便以后迁移
    # /var/run/docker.sock:/var/run/docker.sock 很关键的一步, 日后如果要在 jenkins 里运行 docker, 没有这个, 会很麻烦
    > docker container run --name jenkins -u root -d -p 8080:8080 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock 
    
  2. 检验

    > docker container ls
    

3. 取得 jenkins 初始密码

  1. 概述

    1. 取得 jenkins 初始密码
  2. 背景

    1. jenkins 初始化时, 需要一个 随机生成 的密码
    2. 这个密码, 在 jenkins 的 日志文件里, 会有 体现
  3. 命令

    # 这个镜像的启动日志, 可以直接用 docker logs 命令查看
    # 获得密码后, 继续 初始化
    > docker container logs jenkins
    

4. 继续

  1. 概述
    1. 后面的东西很简单, 我就不说了...
      1. 真的, 基本就是, 一直下一步就可以了...

ps

  1. jenkins 插件安装
    1. 初始化 jenkins 的时候, 插件安装很慢

      1. 这个看脸了...
    2. 而且 jenkins 还有其他插件

    3. 后续, 可能会尝试 自己安装一些 别的插件啥的...

Jenkins Linux master 和 Jenkins windows server 2019 slave 之间的连接问题

Jenkins Linux master 和 Jenkins windows server 2019 slave 之间的连接问题

如何解决Jenkins Linux master 和 Jenkins windows server 2019 slave 之间的连接问题?

我已经在 AWS EC2 上设置了 Jenkins 主站和从站。基本上我想按需启动从站,为此我使用了 Jenkins AWS EC2 插件。我的 Jenkins Master 在 EC2 上的 Ubuntu 20 上,Jenkins Slave 在 EC2 上的 Windows server 2019 上 OpenSSH,jdk1.8,ssh 客户端安装在Jenkins slave上。 JAVA首页就设置好了。我还在奴隶上创建了 jenkins 用户。基本上我已经创建了 Windows AMi 映像并使用它从 master 启动从属 Jenkins。从控制台,我可以 ssh 到 Jenkins master,然后,我可以 ssh 到 Jenkins slave。

以下是我在 Jenkins master 上的 EC2 插件配置:

但是当我尝试从 jenkins 中调出奴隶时,出现错误:

2021-04-13 18:16:46.552+0000 [id=51]    WARNING h.plugins.ec2.win.WinConnection#pingFailingIfSSHHandShakeError: Failed to verify connectivity to Windows slave
java.net.socketTimeoutException: connect timed out
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        at java.net.socksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.socket.connect(Socket.java:607)
        at hudson.plugins.ec2.win.WinConnection.pingFailingIfSSHHandShakeError(WinConnection.java:124)
        at hudson.plugins.ec2.win.EC2WindowsLauncher.connectToWinRM(EC2WindowsLauncher.java:189)
        at hudson.plugins.ec2.win.EC2WindowsLauncher.launchScript(EC2WindowsLauncher.java:52)
        at hudson.plugins.ec2.EC2ComputerLauncher.launch(EC2ComputerLauncher.java:48)
        at hudson.slaves.SlaveComputer.lambda$_connect$0(SlaveComputer.java:294)
        at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
        at jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:80)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
    enter code here

以下是我在Jenkins slave上配置的安全规则:

我最后添加了 tis All tr​​affic rule ,所以我可能会得到一些线索,但仍然遇到同样的问题。 我没有找到我失踪的地方

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

今天关于在 linux (Jenkins) 中的字符串匹配正则表达式之前添加新行java正则表达式匹配linux相对路径的讲解已经结束,谢谢您的阅读,如果想了解更多关于centos 下搭建 Jenkins 持续集成环境 (安装 jenkins)、jenkins (5): jenkins 邮件报警配置、Jenkins - 基于 Docker 的 Jenkins 安装、Jenkins Linux master 和 Jenkins windows server 2019 slave 之间的连接问题的相关知识,请在本站搜索。

本文标签: