分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

[Asp.net core]使用ssh命令发布asp.net core项目

发布时间:2023-09-06 02:22责任编辑:郭大石关键词:暂无标签

命令

# 移除之前发布的包rm -rf ./.Publishrm -rf ./Wolfy.Blog.tar.gz# 编译并发布 将发布包打包在.Publish目录下"C:/Program Files/dotnet/dotnet.exe" publish "./Wolfy.Blog/Wolfy.Blog.csproj" -c Release -r linux-x64 -f netcoreapp2.1 -o "../.Publish"

命令运行后效果:

压缩发布包

# 压缩cd ./.Publish/ ?&& tar -zcf ../Wolfy.Blog.tar.gz * && cd ../

命令执行后效果

# 创建指定目录ssh -p 22 root@192.168.226.129 "mkdir -p /home/webroot/Wolfy.Blog"

命令效果:

# 远程文件拷贝命令scp -P 22 -r ./Wolfy.Blog.tar.gz root@192.168.226.129:/home/webroot/Wolfy.Blog.tar.gz

命令效果

# 解压ssh -p 22 root@192.168.226.129 "tar -xzf /home/webroot/Wolfy.Blog.tar.gz -C /home/webroot/Wolfy.Blog"

命令效果

# 授予执行权限ssh -p 22 root@192.168.226.129 "chmod 777 /home/webroot/Wolfy.Blog"

首次部署需要添加该web应用supervisor配置

/etc/supervice/conf.d下添加

Wolfy.Blog.conf

[program:Wolfy.Blog] ?????????????????????????;定义进程名称command=dotnet Wolfy.Blog.dll ?????????????????;程序启动命令directory=/home/webroot/Wolfy.Blog ???????????????????;命令执行的目录autostart=true ?????????????????????????????????;在Supervisord启动时,程序是否启动autorestart=true ???????????????????????????????;程序退出后自动重启startretries=5 ?????????????????????????????????;启动失败自动重试次数,默认是3startsecs=1 ????????????????????????????????????;自动重启间隔user=root ??????????????????????????????????????;设置启动进程的用户,默认是rootpriority=999 ???????????????????????????????????;进程启动优先级,默认999,值小的优先启动stderr_logfile=/var/logs/supervisor/Wolfy.Blog.err.log ?;标准错误日志stdout_logfile=/var/logs/supervisor/Wolfy.Blog.out.log ?;标准输出日志environment=ASPNETCORE_ENVIRONMENT=Production ??;进程环境变量stopsignal=INT ?????????????????????????????????;请求停止时用来杀死程序的信号
supervisorctl -c /etc/supervisor/supervisord.conf reload

之后发布,就不需要管这些,通过命令

# 启动站点ssh -p 22 root@192.168.226.129 "rm -f /var/logs/supervisor/Wolfy.Blog.err.log"ssh -p 22 root@192.168.226.129 "rm -f /var/logs/supervisor/Wolfy.Blog.out.log"ssh -p 22 root@192.168.226.129 "supervisorctl -c /etc/supervisor/supervisord.conf restart Wolfy.Blog"

可以通过supervisor先将站点停止,然后运行上面的命令,刷新supervisor管理页面,可以看到web启动成功。

所以完整的命令文件为:

# 移除之前发布的包rm -rf ./.Publishrm -rf ./Wolfy.Blog.tar.gz# 编译并发布 将发布包打包在.Publish目录下"C:/Program Files/dotnet/dotnet.exe" publish "./Wolfy.Blog/Wolfy.Blog.csproj" -c Release -r linux-x64 -f netcoreapp2.1 -o "../.Publish"# 压缩cd ./.Publish/ ?&& tar -zcf ../Wolfy.Blog.tar.gz * && cd ../# 创建指定目录ssh -p 22 root@192.168.226.129 "mkdir -p /home/webroot/Wolfy.Blog"# 远程文件拷贝命令 scp -P 22 -r ./Wolfy.Blog.tar.gz root@192.168.226.129:/home/webroot/Wolfy.Blog.tar.gz# 解压ssh -p 22 root@192.168.226.129 "tar -xzf /home/webroot/Wolfy.Blog.tar.gz -C /home/webroot/Wolfy.Blog"# 授予执行权限ssh -p 22 root@192.168.226.129 "chmod 777 /home/webroot/Wolfy.Blog"# 启动站点ssh -p 22 root@192.168.226.129 "rm -f /var/logs/supervisor/Wolfy.Blog.err.log"ssh -p 22 root@192.168.226.129 "rm -f /var/logs/supervisor/Wolfy.Blog.out.log"ssh -p 22 root@192.168.226.129 "supervisorctl -c /etc/supervisor/supervisord.conf restart Wolfy.Blog"# 清理本地发布包rm -rf ./.Publishrm -rf ./Wolfy.Blog.tar.gz

总结

1、发布之前需要通过git确认发布的分支。

git checkout develop

2、拉取最新代码

git pull

3、将上面内容替写入一个.sh的文件,和sln解决方案文件放在同一个目录即可,替换项目名称,比如我这里使用的实例Wolfy.Blog

4、supervisor的配置,需要注意下,这个地方根据自己的配置进行设置。

[Asp.net core]使用ssh命令发布asp.net core项目

原文地址:https://www.cnblogs.com/wolf-sun/p/9958950.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved