想了解在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相对路径)
- centos 下搭建 Jenkins 持续集成环境 (安装 jenkins)
- jenkins (5): jenkins 邮件报警配置
- Jenkins - 基于 Docker 的 Jenkins 安装
- Jenkins Linux master 和 Jenkins windows server 2019 slave 之间的连接问题
在 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}
括在 ()
中,从而使其成为第一个(也是唯一一个)组,然后我将其引用为 \\\\1
,g
表示全局替换(所有出现) . gensub
确实返回新字符串而不是更改,所以我 print
它。如果您想了解有关 gensub
的更多信息,请阅读 String Functions docs。
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 邮件报警配置
参考: 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 第一步, 当然是安装
- 但是 安装的方法 很多
- Jenkins 是基于 Java 的
- 所以是个 跨平台 的产品
- 既然跨平台, 就会有多重方式
- 我选择了比较简单的一种
- 基于 Docker
- 原因
- Docker 环境比较好搭建
- 环境坏了, 可以随时重来
- 原因
- 基于 Docker
- Jenkins 是基于 Java 的
-
准备
- OS
- CentOS 7
- docker
- 18.09
- Jenkins
- 使用的是 latest 版本的镜像
- OS
1. 搭建步骤
1. 拉取 docker 镜像
-
命令
# 这里采用 官方镜像 # 如果 需要其他镜像, 可以修改参数 > docker pull jenkins
-
验证
> docker image ls
2. 启动 jenkins 容器
-
命令
# 格式不太好, 中间可以用 \ 符号来折行的 # --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
-
检验
> docker container ls
3. 取得 jenkins 初始密码
-
概述
- 取得 jenkins 初始密码
-
背景
- jenkins 初始化时, 需要一个 随机生成 的密码
- 这个密码, 在 jenkins 的 日志文件里, 会有 体现
-
命令
# 这个镜像的启动日志, 可以直接用 docker logs 命令查看 # 获得密码后, 继续 初始化 > docker container logs jenkins
4. 继续
- 概述
- 后面的东西很简单, 我就不说了...
- 真的, 基本就是, 一直下一步就可以了...
- 后面的东西很简单, 我就不说了...
ps
- jenkins 插件安装
-
初始化 jenkins 的时候, 插件安装很慢
- 这个看脸了...
-
而且 jenkins 还有其他插件
-
后续, 可能会尝试 自己安装一些 别的插件啥的...
-
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 traffic 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 之间的连接问题的相关知识,请在本站搜索。
本文标签: