首页 > 系统相关 >shell运维脚本优化

shell运维脚本优化

时间:2023-11-20 11:14:21浏览次数:118  
标签:脚本 shell name 运维 image tag ns

我们在平常工作中,你是否感觉shell脚本只是命令的堆砌;很多时候只是为了实现功能而没有好的组织结构;自己的脚本都不想再看一遍;此让你的shell脚本有python一样的美感并且极易维护,真的是shell脚本写到停不下来。

现以k8s发版脚本为例,看一下脚本的优化过程:

#!/bin/bash

set -eu

ns=$1
project_name=$(echo $2|awk -F '_' '{print $2}')
modul_name=$(echo $2|awk -F '_' '{print $3}')
image_tag=harbor.example.cn:32443/jenkins-$ns/$project_name/$modul_name:$ns_$(date +%y%m%d%H%M)_manual_$project_name_$modul_name

# 1. 构建镜像
docker build -t  $image_tag -f jarFile .

# 2. 检查镜像
result=$(docker images|grep $tag)
if [[ $result == '' ]]; then
   echo "镜像不存在,请检查!"
   exit 1 
fi

# 3. 上传镜像然后删除本地镜像
docker push $image_tag && docker rmi $image_tag

# 4. 更新deployment镜像
kubectl patch deployment $ns-$project_name-$modul_name -n $ns --patch "{\"spec\": {\"template\": {\"spec\": {\"containers\": [{\"name\": \"$ns-$project_name-$modul_name\",\"image\":\"$image_tag\"}]}}}}"

其实我这个脚本因为功能不是很多,所以看起来还算清晰。但要是那种上百行从上到下的shell脚本,那要理清楚逻辑就是很痛苦的事情了。

 

标签:脚本,shell,name,运维,image,tag,ns
From: https://www.cnblogs.com/ggborn-001/p/17843474.html

相关文章

  • 脱贫户收入录入脚本程序使用方法
    一、下载地址链接:https://pan.baidu.com/s/1cOlNdIjYpePxndtzUD2bFw提取码:pr9n二、配置运行环境(1)下载谷歌浏览器,查看浏览器版本(下一个低版本的Chrome)打开chrome在网页地址栏中输入“chrome://version/”来查看chrome版本(2)下载合适的chromedriver.exe访问此网站:http://ch......
  • mysql巡检脚本sql补充
    --没有主键索引mysql[localhost:8028]{root}(test)>SELECTt.table_schema,t.table_name,t.engine->FROMinformation_schema.tablest->JOINinformation_schema.columnsc->ONt.table_schema=c.table_schema->ANDt.table_name=c.......
  • 闲鱼商家私信脚本,打招呼发送广告,按键精灵插件,已开源版!
    客户定制的一个按键精灵商家私信脚本,是插件版,设置话术户启动后进入闲鱼会自动给商家发送私信,非常稳定,那么现在脚本已经没用了,就开源分享出来代码。ui界面:  ui界面代码:========================================================界面1:{请在下面输入话术:{输入框:{名称......
  • 豆瓣贴吧24小时自动顶帖脚本,随机延迟时间,按键精灵插件开源版!
    之前给客户定制的,定制了非常多的脚本和插件,这也是其中一个,我留着没用,就把源码直接给大家开源出来,方面大家学习一下,或者你可以把代码和UI界面的代码直接粘贴到你的按键精灵手机助手里面就能运行的,你可以试试,仅供学习用。ui界面:  ui界面2:  UI界面代码:================......
  • 微信自动发朋友圈脚本,可定时延迟多账号,按键精灵开源工具
    这个需要每个手机运行一个,然后连接服务器,手机端是客户端,会检测客户端发送的消息,然后服务器端发送消息后,客户端会将消息转发到微信朋友圈。ui界面:  脚本代码:=====================================================Dim布局名称,点击坐标,话术,分割话术,随机值,文本,id,结......
  • 抖音快手陌陌自动刷视频养号脚本,24小时稳定运行,按键精灵开源版
    原理非常简单,就是自动刷视频,然后时间都是随机的,比如看视频或者看动态时间都是随机的,而且还能24小时运行,实现了一个非常不错的一个养号效果,支持抖音快手陌陌三个平台,客户定制的,现在代码留着没用,分享出来。UI界面:  代码:=============================================='创......
  • 快手抖音同城自动评论脚本,推荐页支持,自定义评论内容,按键精灵开源版!
    之前给客户定制的一个支持快手也抖音的自动同城评论脚本,可以原理很简单,自动上划视频,然后自动留下一个评论,评论内容通过语法分割,实现每次评论的内容都不一样,好了下面是UI和代码。ui:  界面代码:=====================================================界面1:{请在下面设置......
  • 知乎自动评论脚本,可实现点赞的效果,按键精灵开源插件!
    用按键精灵开发的一个按键精灵自动评论点赞脚本,也是客户定制的,现在这个代码留下没用,就直接开源出来,你可以复制自己粘贴到按键精灵手机助手里面ui界面:  界面2:  界面代码:================================================界面1:{请在下面设置话术:{输入框:{名称:......
  • 支持抖音快手的直播间刷屏脚本,自定义话术快速,新用户欢迎,按键精灵脚本开源
    用按键精灵之前给客户开发的脚本,功能我这边都设计好了,比如话术速度还有毫秒都可以自定义设置的,还支持虚拟欢迎等功能,还有一直点赞等功能,用按键精灵开发的,我现在拿着也用不了,就直接把源码开源出来。uii界面: 脚本代码:=======================================================......
  • 2023-11-19 无法将“gradle”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。(wi
    系统环境:windows出现该提示,一般情况下都是因为你没有把你安装的gradle包路径放到系统变量如果你没有安装gradle,可以前往gradle官网下载:https://gradle.org/install如果你已经安装了gradle,那下面就是把gradle包路径放到系统变量的教程: 系统变量==》Path==》新建 输入gradl......