简单的自动发布脚本

背景: 没有基础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

}

相关推荐
kyriewen11 小时前
我让 AI 当了 24 小时全年无休的“毒舌考官”
前端·ci/cd·ai编程
2401_8530878820 小时前
车企私有化CI/CD踩坑:通用CI工具在车载编译、并发、环境隔离上的天生缺陷
ci/cd·devops·源代码管理
林瞅瞅21 小时前
Jenkins+Docker实现Nuxt2自动化部署
服务器·ci/cd
2401_853087881 天前
2026军工强合规场景DevOps选型指南:可信供应链与等保三级落地实践
运维·ci/cd·devops
微软技术栈2 天前
Microsoft AI Genius 4.0 | 用 GitHub Actions 将规范转化为 CI/CD
ci/cd
日取其半万世不竭2 天前
Tekton:Kubernetes 原生 CI/CD 流水线
ci/cd·kubernetes·tekton
lwf0061643 天前
DevOps 与 CI/CD 实战心得:静态网站的自动化部署
ci/cd·自动化·devops
恼书:-(空寄3 天前
从手动部署到一键发版:Java项目CI/CD流水线搭建实录
ci/cd·jenkins·流水线部署
终端行者3 天前
Jenkins Pipeline 构建后推送到Nexus制品库 jenkins 如何连接Nexus?企业级实战 --中 Jenkins 连接Nexus 实战
运维·ci/cd·docker·jenkins·nexus
终端行者3 天前
Jenkins Pipeline 构建后推送到Nexus制品库 jenkins 如何连接Nexus?企业级实战 --上 Nexus部署
运维·ci/cd·jenkins·nexus