• jenkins动态关联参数(动态获取服务器参数)


    1、希望效果

    2、安装插件

    
    

    Active Choices Plug-in

    
    

    目的:关联参数,能够实现动态选择环境后执行Groovy Script

    
    

    页面插件管理: 系统管理 ——> 插件管理

    3、jenkins - web端设置参数化过程

      # def gettags = ['/bin/bash', '-c', "/scripts/shell/front_build_image_deploy/get_image_list.sh '${serviceName} ' alpha"].execute()
      # return gettags.text.readLines()

    4、脚本内容

    #输出需要对服务进行的操作
    [root@jenkins ~]# ll /scripts/shell/online_build_image/get_image_list.sh
    -rwxr-xr-x 1 root root 121 Jan 20 14:10 /scripts/shell/online_build_image/get_image_list.sh [root@jenkins ~]# cat /scripts/shell/online_build_image/get_image_list.sh #!/bin/sh user=`whoami` #serviceNameLower=`echo es-provider-auth|tr 'A-Z' 'a-z'` serviceName=$1 serviceNameLower=`echo "$serviceName"|tr 'A-Z' 'a-z'` #部署环境(dev,alpha,beta,pro) deploymentEnv=$2 function Usage(){ if [[ "$serviceName" == '' ]];then echo "sh $0 '服务名' '部署环境'" && exit 4 fi } function root_get_image_list(){ if [[ "$deploymentEnv" == 'alpha' ]];then imageName=registry-test.com/wx-k8s/"$serviceNameLower" docker images|grep "$imageName "|awk '{print $1":"$2" 镜像ID~"$3}'|sort -rn elif [[ "$deploymentEnv" == 'dev' ]];then imageName=registry-test.com/wx-k8s-dev-alpha-beta/"$deploymentEnv"-"$serviceNameLower" docker images|grep "$imageName "|awk '{print $1":"$2" 镜像ID~"$3}'|sort -rn elif [[ "$deploymentEnv" == 'beta' ]];then imageName=registry-test.com/wx-k8s-dev-alpha-beta/"$deploymentEnv"-"$serviceNameLower" docker images|grep "$imageName "|awk '{print $1":"$2" 镜像ID~"$3}'|sort -rn elif [[ "$deploymentEnv" == 'pro' ]];then imageName=registry-test.com/wx-k8s-pro/"$serviceNameLower" docker images|grep "$imageName "|awk '{print $1":"$2" 镜像ID~"$3}'|sort -rn fi } function jenkis_get_image_list(){ if [[ "$deploymentEnv" == 'alpha' ]];then imageName=registry-test.com/wx-k8s/"$serviceNameLower" ssh root@192.168.56.207 "docker images"|grep "$imageName "|awk '{print $1":"$2" 镜像ID~"$3}'|sort -rn elif [[ "$deploymentEnv" == 'dev' ]];then imageName=registry-test.com/wx-k8s-dev-alpha-beta/"$deploymentEnv"-"$serviceNameLower" ssh root@192.168.56.207 "docker images"|grep "$imageName "|awk '{print $1":"$2" 镜像ID~"$3}'|sort -rn elif [[ "$deploymentEnv" == 'beta' ]];then imageName=registry-test.com/wx-k8s-dev-alpha-beta/"$deploymentEnv"-"$serviceNameLower" ssh root@192.168.56.207 "docker images"|grep "$imageName "|awk '{print $1":"$2" 镜像ID~"$3}'|sort -rn elif [[ "$deploymentEnv" == 'pro' ]];then imageName=registry-test.com/wx-k8s-pro/"$serviceNameLower" ssh root@192.168.56.207 "docker images"|grep "$imageName "|awk '{print $1":"$2" 镜像ID~"$3}'|sort -rn fi } if [[ "$user" == 'root' ]];then Usage root_get_image_list elif [[ "$user" == 'wx' ]];then Usage jenkis_get_image_list fi #注释: build脚本忽略
  • 相关阅读:
    设计模式之命令模式
    设计模式之访问者模式
    ES6入门之Generator函数
    ES6入门之Iterator和for...of
    c# TcpClient简易聊天工具
    Mvc Action可以通过jsonp方式调取
    Webbrowser 在web项目中的使用
    关于java post get请求Demo (请求c#iis接口)
    Jquery 引擎模板 -template详解
    Redis在windows下安装过程
  • 原文地址:https://www.cnblogs.com/faithH/p/12658974.html
Copyright © 2020-2023  润新知