简单的自动发布脚本

背景: 没有基础CI/CD 建设,又不想大动干戈,所以想着写个脚本完成这个工作,windows中使用,如果是linux只需要修改检查和发送消息部分,发送消息部分可以使用cURL

获取本地和远程的commitId

$localCommitId = git rev-parse HEAD

$string = git ls-remote origin HEAD

remoteCommitId = string.Substring(0, 40)

echo $remoteCommitId

echo $localCommitId

#检查是否有新的提交

if (remoteCommitId -ceq localCommitId) {

exit;

}

else {

停止旧服务

Stop-Process -force -name *iValon.WES.API*

cd D:\

拉取代码

git pull

发布

dotnet publish -c Release -r win-x64 --self-contained true -o

关闭build-server

dotnet build-server shutdown

启动新进程

Start-Process .\i

发送企业微信消息

msg = '{ "msgtype": "markdown", "markdown": { "content": "\' + remoteCommitId + ':\u53d1\u5e03\u6210\u529f</font>" }}';

Invoke-WebRequest https://qyapi.weixin.qq.com -Method POST -Body $msg

}

相关推荐
遇见火星2 天前
自动化发布工具CI/CD实践Jenkins常用工具和插件的使用
运维·ci/cd·自动化·jenkins·自动化发布
Apifox2 天前
如何在 Apifox 中通过 Runner 运行包含云端数据库连接配置的测试场景
前端·后端·ci/cd
不能只会打代码3 天前
六十天前端强化训练之第三十四天之CI/CD 大师级深度解析
ci/cd
小小寂寞的城3 天前
Ubuntu里安装Jenkins
ubuntu·ci/cd·docker·jenkins
程序员三藏3 天前
Python+Jenkins+Allure Report接口自动化测试持续集成
自动化测试·软件测试·python·测试工具·ci/cd·jenkins·测试用例
qq_413691354 天前
CI/CD(九) Jenkins共享库与多分支流水线准备
运维·ci/cd·jenkins
字节程序员5 天前
Jenkins 持续集成:Linux 系统 两台机器互相免密登录
linux·软件测试·ci/cd·jenkins
全栈开发七分钟6 天前
vercel开源平替,dokploy七分钟国内安装指南
前端·后端·ci/cd
whiteBrocade6 天前
CI/CD-Jenkins安装与应用
运维·ci/cd·jenkins
遇见火星6 天前
自动化发布工具CI/CD实践Jenkins介绍!
运维·ci/cd·自动化·jenkins·自动化发布