简单的自动发布脚本

背景: 没有基础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 小时前
从购买服务器,到Ubuntu + Docker + Jenkins 部署,再到网页展示!
nginx·ci/cd·jenkins
先做个垃圾出来………8 小时前
CI/CD与DevOps集成方法
运维·ci/cd·devops
人生都在赌1 天前
AI Agent从工具到生态的秘密:我们踩过的坑和3个月实践教训
人工智能·ci/cd·devops
界面开发小八哥2 天前
通用CI/CD软件平台TeamCity v2025.3全新发布——主要界面交互体验升级
ide·ci/cd·开发平台·teamcity
jaqi.l3 天前
uni-app小程序云效持续集成
ci/cd·小程序·uni-app
hjc_0420433 天前
云效CI/CD教程(PHP项目)
ci/cd·php
寒水馨5 天前
聊聊DevOps,开发与运维如何分工协作?
运维·ci/cd·开发·devops
liux35285 天前
基于Kubernetes的微服务CI/CD:Jenkins Pipeline全流程实践
ci/cd·微服务·kubernetes
大A崛起5 天前
Gitlab-CI实现组件自动推送
ci/cd·gitlab·github
苦逼IT运维6 天前
Jenkins 不同节点间文件传递:跨 Job 与 同 Job 的实现方法
linux·运维·ci/cd·jenkins·运维开发