`

shell 修改Jenkins中config文件 增加邮件配置

 
阅读更多
背景:
Jenkins 中很多项目原先并没有配置build失败触发邮件,手动配置比较费时间。
考虑使用shell脚本修改所有项目的config文件,增加邮件触发配置。

shell脚本:
1.找到jobs下所有的config文件
2.对每个文件sed替换,增加邮件触发设置。

问题:
sed 中用 sed -i "s/${var}/${var2}/g" config.xml
替换 如果变量中有<> / 等特殊字符,会报错。


#!/bin/sh

##add email config to all project

checkWords='<reporters/>'
checkWords2=`cat context.txt`
path=/data/jenkins/jobs


##find all config
find $path  -maxdepth 2 -type f -name "config.xml" > config.txt

###heck email config isExist
#cat config.txt |while read line
#do
  #cat ${line} |grep -E  "${checkWords}|${checkWords2}"
  #cat ${line} |grep "reporters"|wc -l
  #echo ${line}
  #echo $checkWords
  #echo $checkWords2
   #sed -i "s:<reporters/>:<reporters>\n    <hudson.maven.reporters.MavenMailer>\n      <recipients/>\n      <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstab
leBuild>\n      <sendToIndividuals>true</sendToIndividuals>\n      <perModuleEmail>true</perModuleEmail>\n    </hudson.maven.reporters.MavenMailer>\n  </reporters>:g"
test.xml
  line='/data/jenkins/jobs/alpha-picture-quality-jni/config.xml'
  if [ `cat ${line} |grep "reporters"|wc -l` -eq "1" ];then
    echo ${line} 1
    sed -i "s:<reporters/>:<reporters>\n    <hudson.maven.reporters.MavenMailer>\n      <recipients/>\n      <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstab
leBuild>\n      <sendToIndividuals>true</sendToIndividuals>\n      <perModuleEmail>true</perModuleEmail>\n    </hudson.maven.reporters.MavenMailer>\n  </reporters>:g"
${line}
  elif [ `cat ${line} |grep "reporters"|wc -l` -eq "4" ];then
    echo ${line} 4
  else
    echo ${line} qita
  fi
#done
分享到:
评论

相关推荐

    Jenkins自动部署Shell脚本分享(注意,仅用于Shell脚本分享,因环境不同,不可用于其它环境自动部署使用)

    # 注意1:需修改目标主机/etc/ssh/sshd_config,MaxSessions 50(建议值),重新加载sshd服务配置。 # 注意2:脚本后必须跟参数,参数为 项目名,例如: sh deploy.sh store # 注意3:50行,sleep 15 秒,20后台进程 x...

    python的Jenkins接口调用方式

    在上述代码示例中提到了两个Jenkins配置文件,一个是`php_jenkins`,另一个是`java_newjenkins`。这里我们将详细解释这些配置文件的结构和用途。 1. **`php_jenkins`配置文件**: - `&lt;project&gt;`:代表一个Jenkins...

    ubuntu上搭建jenkins

    在Jenkins中,"settings"经常用于存储构建项目的环境变量或构建参数,例如Maven的全局设置文件(maven-settings.xml)或Git的用户配置(~/.gitconfig)。如果这两个文件是Jenkins相关配置,可能需要将其导入到...

    jenkins备份脚本

    jenkins备份shell脚本,在本地备份jenkins_home中的内容: *.xml 需要备份 config-history 需要备份 fingerprints 需要备份 global-build-stats 需要备份 *.key* 需要备份 jobs jobs配置需要备份(config.xml, ...

    11.26 交换机配置,支持远程网口登陆。写shell脚本的测试用例设计.rar

    在IT行业中,网络设备的配置和管理是至关重要的任务,特别...总结来说,交换机配置支持远程网口登录以及编写Shell脚本的测试用例设计是IT运维中的关键技能。理解并掌握这些知识点,能有效提升网络管理的效率和安全性。

    ssh整合的一些配置文件

    - `sshd_config`: 这是SSH服务器的主要配置文件,位于`/etc/ssh/sshd_config`(在Unix/Linux系统中)。它定义了服务器的行为,如端口设置、密码策略、公钥认证、连接限制等。 - `ssh_config`: 客户端的配置文件,...

    jenkins-resources

    【Jenkins Resources】是Jenkins自动化服务器中一个重要的概念,它涉及到如何管理和组织Jenkins作业中所需的外部资源,如配置文件、脚本或静态数据。在这个名为"jenkins-resources"的压缩包中,我们可能找到了一个名...

    kemumaki-jenkins-demo:演示 Jenkins 配置

    Kemumaki:演示 Jenkins 配置 带有的 Wakame CI 部署管道框架 特征 版本控制下的/var/lib/jenkins rpmbuild 作业演示 部署管道骨架 安装 $ su - jenkins $ umask 077 $ git clone ...

    jenkins-cicd-config

    总结来说,"jenkins-cicd-config" 主要涵盖了 Jenkins 的安装、插件管理、job 配置、持续集成与部署策略等内容,这些都是构建高效、可靠的 CI/CD 系统的基础。通过理解和掌握这些知识点,开发团队可以实现快速、安全...

    jenkins-k8s-deploys

    詹金斯 我的非云kubernetes部署的jenkins项目。 先决条件 一个要管理的k8s集群 使用Docker插件进行jenkins... 使用上一步中生成的/tmp/kube-jenkins-generated.yaml文件在jenkins中创建jenkins-kubeconfig秘密文件。

    jenkins-image

    詹金斯图像 此代码段将构建一个包含Buildit 和的映像。 这两个组件都使用来获取其配置。 按照指向的链接获取有关如何配置配置位置的说明。 样本 可以通过运行以下命令来启动...docker run -it -e JENKINS_CONFIG_FILE=...

    ssh2的配置,xml的各项配置

    在Jenkins中,可以创建一个`jenkins.xml`配置文件,其中包含一个`&lt;sshPublisher&gt;`标签来定义发布步骤,包括使用SSH的目标服务器信息: ```xml &lt;host&gt;example.com&lt;/host&gt; &lt;port&gt;22 &lt;username&gt;jenkins ...

    部署项目-JDeploy-master.zip

    JDeploy自动化部署平台 ...Shell脚本的目录位置需要配置在config.properties中。 Jetty JDeploy自动化部署平台Java Web项目部署是基于Jetty服务器的。 需要自行下载Jetty服务器,并在config.prope

    自动化部署K8S Shell脚本

    5. **配置Worker节点**:在Worker节点上,脚本会获取Master节点的配置信息,包括kubeconfig和证书,然后启动kubelet和kube-proxy服务,将节点加入到集群。 6. **网络插件设置**:K8S集群通常需要网络插件来实现Pod...

    ssh配置报错解决

    虽然这些文件与SSH配置问题表面无关,但在实际项目中,当远程服务器需要部署Java应用时,SSH配置可能是部署过程中的一部分,尤其是在自动化部署流程中,如使用Jenkins或GitLab CI/CD。 综上所述,解决SSH配置错误...

    jenkins

    1. **配置文件**:如`config.xml`,存储了Jenkins服务器的基本设置和全局配置。 2. **构建脚本**:如`Jenkinsfile`,定义了整个构建过程,包括源码拉取、编译、测试和部署步骤。 3. **插件配置**:插件的配置信息...

    jenkins-config

    学士学位论文实用部分(Jenkins配置) 项目目标:创建一个可以正常... 在此存储库中,您可以找到:Jenkins,Docker,SonarQube,Artifactory,Slack和其他工具配置文件。 链接到Docker Hub存储库: : @朱瓦伊2020-2021

    config-files:我的基本环境配置文件和脚本

    在IT行业中,环境配置文件和脚本对于程序员和系统管理员来说是至关重要的工具。这些文件帮助用户快速设置和管理他们的工作环境,确保一致性并提高效率。"config-files:我的基本环境配置文件和脚本"这个项目,正如其...

    docker-jenkins:Jenkins 的 Docker 镜像

    码头工人詹金斯Jenkins 的 Docker 镜像此 Docker 映像包含: Java 和 maven 来构建你的 Java 项目Active Directory 身份验证的默认配置使用私有 ssh 密钥的默认配置访问 git 服务器如何配置 Active Directory 身份...

Global site tag (gtag.js) - Google Analytics