PowerShell能开发解决的问题

11 篇文章 1 订阅
3 篇文章 0 订阅

PowerShell能开发解决的问题

1、PowerShell 可以直接替掉Xshell等连接linux的的客户端,连接服务器。

​ PowerShell 连接服务器 :

​ 1.用 $PROFILE 函数查看PowerShell 本机自定义函数文件的位置

​ 2.找到文件,在文件的末尾添加函数如下

function u8(){ 
    Set-Clipboard "Aa11111"
    echo "密码已经在粘贴板"
    ssh test@11.1.19.16
}

​ 3.PowerShell 在当前窗口执行 .$PROFILE 加载本地函数文件

​ 4.在PowerShell 在当前窗口 执行 u8 点击回车,粘贴 密码 ,回车进入服务器。

2、简化git命令

​ 因为 PowerShell 可以自定义函数,我们可以帮 添加文件,提交到本地git及推到远程分支。函数如下

# git 提交代码 
function git-cp ($content){
  git status #当前变动
  git add .  #添加所有变动文件
  echo "$content" #打印提交信息
  git commit -m "$content" #提交git 信息
  git push  #推送代码
}
3、缩短服务器 操作的步骤

​ 平时想去服务器上看个日志,我们需要登上服务器,进到目录下 ,执行查看日志的命令。用PowerShell 编写函数,可以直接查看日志。代码如下

function log_group(){	 
		Set-Clipboard "Aa1111"
        echo "密码已经在粘贴板"
        ssh ewhine@11.1.19.16 'tail -20f /home/ewhine/var/log/usergroup/*.log'
}

​ 当连接服务器时,需要通过堡垒机(跳板机),才能连上服务器的,操作的时候也能缩短整个链路的。操作代码如下:

function log_data(){	 
		Set-Clipboard "Aa1111"
        echo "密码已经在粘贴板"
        ssh root@11.1.19.16 'sh /root/shell/log_data.sh'
}
4.简化工作流程

​ 作为一个开发我们需要经常的打包 测试环境发版,可以编写一个PowerShell 函数帮我们做,节省时间保证操作的准确性。函数代码如下:

function ds_data(){	
        cd  D:\ncxyWorkspace\datamonitor # 打开项目所在的路径
		& git checkout uat   # 切换本地项目的分支
		& git pull -p    # 拉去最新的代码
		& git merge myf_pro  #讲本地最新的代码合并到 uat分支
		& git push  #推送代码
		& mvn clean  # 用maven 清理下本地的编译过的代码
		& mvn package   # 用maven 打包
		cd  D:\ncxyWorkspace\datamonitor\target  #打开编译后jar包的位置
		Set-Clipboard "Aa1111"
        echo "密码已经在粘贴板"  # 向PowerShell 粘贴板放数据
		& ssh root@11.1.19.6 'rm /root/deploy/datamonitor/datamonitor*.jar' # 删除跳板机上的包
		& scp  datamonitor-*.jar root@11.1.19.16:/root/deploy/datamonitor # 将跳板机上的包放到服务器。
		cd  D:\ncxyWorkspace\datamonitor # 打开项目所在的路径
		& git checkout myf_pro  # 切回原有分支
		& ssh root@11.1.19.16 'sh /root/shell/ds_data.sh' # 切回原有分支 执行跳板机脚本启停服务
}

​ 另一个案例:打生产包,因为我们的生产需要先把一些包打成tar包,再把tar包打成gz包。函数如下

function pro_data(){
		# 需要复制的文件路径
		$sourceFile1 = 'D:\ncxyWorkspace\datamonitor\install.sh'
		$sourceFile2 = 'D:\ncxyWorkspace\datamonitor\build.rb'
		# 定义目标文件夹路径
		$destinationFolder = 'D:\ncxyWorkspace\datamonitor\target\ewhine_pkg'
        cd  D:\ncxyWorkspace\datamonitor
		& git checkout 2.0.0
		& git pull -p
		& git merge myf_pro
		& git push
		& mvn clean
		& mvn package
		& git checkout myf_pro
		# 复制文件到目标文件夹
		Copy-Item -Path $sourceFile1 -Destination $destinationFolder
		Copy-Item -Path $sourceFile2 -Destination $destinationFolder
		cd  D:\ncxyWorkspace\datamonitor\target
		
		# 设置新文件夹的路径
		$newFolderPath = "D:\ncxyWorkspace\datamonitor\target\datamonitor"
		# 创建新文件夹
		New-Item -ItemType Directory -Path $newFolderPath
		# 复制目录内容到新文件夹
		Copy-Item -Path $destinationFolder -Destination $newFolderPath -Recurse
		# 用本机 bandizip 软件打包
		& bandizip c -l:2 -fmt:tar datamonitor.tar datamonitor
		Start-Sleep -Seconds 2
		& bandizip c -l:2 -fmt:gz datamonitor.tar.gz datamonitor.tar
		Start-Sleep -Seconds 1
		# 设置要打开的目录路径
		$directoryPath = "D:\ncxyWorkspace\datamonitor\"
		# 启动文件管理器并打开指定目录
		Start-Process explorer.exe -ArgumentList "/select, $directoryPath"
		cd  D:\ncxyWorkspace\mx_hnnx_datamonitor
}
  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苹水相峰

你的打赏是对我最大的肯定

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值