`

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...

    jenkins备份脚本

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

    kemumaki-jenkins-demo:演示 Jenkins 配置

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

    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=...

    部署项目-JDeploy-master.zip

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

    jenkins-config

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

    docker-jenkins:Jenkins 的 Docker 镜像

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

    jenkins-cloudci:Jenkins for Cloud CI

    云CI Jenkins for Cloud CI在PSI OpenShift 4.6上进行了产品部署和阶段部署。 Prod jenkins具有100G永久存储,但是第一阶段没有永久存储。...如何更新Jenkins和Jslave配置 $ oc login https://api.ocp4.prod.psi.r

    jenkins-x-boot-config

    Jenkins X引导配置该存储库包含的源代码,以便您可以通过GitOps设置,升级或配置Jenkins X安装。如何安装...创建一个Kubernetes集群要么使用Terraform来启动具有jx名称空间和任何必要云资源的GKE集群(例如,在GCP上...

    tb-jenkins:用于为EC集群创建Docker映像的所有文件

    构建并将Jenkins Docker映像推送到GCR存储库根据需要对jenkins配置文件进行更改,然后运行以下构建过程,以便可以将新映像推送到GCR或任何其他Repo中gcloud config set project tranquility-base-imagesdocker build...

    docker-jenkins:Jenkins的Docker映像

    docker-jenkins docker pull dustise/jenkins A Customizable docker image for Jenkins. With this image , you can simply add your own init groovy script, set your first administrator, even change the ...

    jenkins-cicd-config

    @朱UV 2021

    udacity-cde-capstone-infra:Udacity Cloud DevOps工程师的主要项目-基础架构

    包含一个shell帮助程序脚本,该脚本执行Cloud Formation并更新Jenkins主服务器上的本地AWS配置。 README.md 您实际上正在阅读此文件。 前提条件 需要安装以下软件: Jenkins插件: Kubernetes插件 管道AWS Step

    Kubernetes-templates:Kubernetes YAML模板-最佳实践,技巧和窍门已直接导入到生产部署模板中-加上CICD Jenkins和TeamCity,带有ACME的证书管理器让我们加密免费入口自动SSL证书,补丁,Kustomize等

    与direnv一起使用以将正确的Kubernetes上下文自动加载到当前的shell中,以避免天真的更改全局~/.kube/config上下文引起的shell和脚本之间的竞争状况 从库派生,现在这是库的子模块,后者是DevOps , 和工具存储库的...

    jenkins-mysql-s3_backup-container_project:这是我用来练习容器,环境变量和Jenkins的项目

    jenkins-mysql-s3_backup-container_project 设置 使用以下命令创建ssh密钥: ssh-keygen 当要求输入... 此存储库中的默认.gitignore将不会提交config/.env或config/db-variables.env 建立“远程主机”映像 docker-comp

    prometheus-alert-webhooker:将Prometheus Alertmanager Webhook转换为任何操作

    规则在config中设置,可以灵活() 支持的配置类型JSON,TOML,YAML,HCL和Java属性(使用 ) 支持的配置提供程序:文件,etcd,领事(具有自动刷新) 内置Prometheus指标 上可用的映像 快速开始 根据准备config....

    ceph-build:用于构建官方Ceph软件包的帮助程序脚本

    JJB配置定义了此仓库中生成和更新/创建所有其他Jenkins Jobs所需的规则,只要它们定义了config/definitions以及有效的YAML文件即可。 该脚本应具有从YAML文件生成Jenkins配置以创建/更新jenkins作业所需的所有规则...

    关于docker部署的jenkins跑git上的程序的问题

    1、首先是关联git遇到报错:ERROR: ...这样就会把git上的代码clone到jenkins容器目录当工程下,我这里为:/var/jenkins_home/workspace/first_python/ 2、设置执行shell运行程序 2、保存构建执行后就可以在控制台输

    netbeans:Apache NetBeans

    Apache Jenkins: Linux: 视窗: 要求 吉特 蚂蚁1.9.9或以上 JDK 8或11(用于构建NetBeans) JDK 9或更高版本(用于运行NetBeans) MinGW(可选),用于构建Windows启动器 笔记: NetBeans还可与JDK 8一起...

Global site tag (gtag.js) - Google Analytics