[转]netcore一键部署到linux服务器以服务方式后台运行
AntDeploy 是我开发一款开源一键发布插件
- 将本地vs中的代码,一键打包,部署到任意的远程服务器
- 部署方式支持 windows服务,linux服务,docker容器,iis
- 支持增量发布(只更新有修改的)
- 支持一键回滚(出了问题快速恢复)
- 支持查看发布历史记录
AntDeploy的代码托管地址(感恩star)
https://github.com/yuzd/AntDeploy
本章介绍如何使用AntDeploy一键部署到远程linux服务器作为服务运行
- linux服务器为aws的 ecs: 系统为ubuntu18.04.4 (x64)
- 服务器上无安装dotnet环境(因为AntDeploy用的是独立部署)
第一步 安装Linux端Agent
请在qq群(488312978)文件里面获取
把文件上传你的linux服务器
解压后有3个文件
- AntAgent.service 是安装为服务的描述文件
- AntDeployAgentLinuxService 执行文件
- AntDeployAgentLinuxService.config 配置参数
按照下面更改AntAgent.service中的 WorkingDirectory 和 ExecStart
[Unit]
Description=AntAgent
[Service]
Type=notify
## WorkingDirectory是上面的AntDeployAgentLinuxService所在目录
WorkingDirectory=/home/ubuntu/download
## ExecStart是AntDeployAgentLinuxService执行文件的完整路径
ExecStart=/home/ubuntu/download/AntDeployAgentLinuxService
SyslogIdentifier=AntAgent
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
赋予这个可执行文件权限
chmod +x AntDeployAgentLinuxService
修改agent配置文件AntDeployAgentLinuxService.config
<configuration>
<appSettings>
<!-- 访问agent的Token,保护你服务器安全的 -->
<add key="Token" value="aaaa"/>
<!-- agent对外提供服务的端口号,在云服务器里面得开放端口不然访问不进来 -->
<add key="Port" value="8091"/>
<!--下面的一般保持默认即可 -->
<!--是否启用备份 true代表备份 false 代表不备份 不填=true -->
<add key="NeedBackUp" value="" />
<!--配置Mac白名单地址列表 多个用半角逗号隔开-->
<add key="MacWhiteList" value="" />
<!--配置发布历史最多保留个数(默认10),解释:每次发布就是一个发布历史,回滚的时候是选择这个发布历史进行操作的-->
<add key="OldPulishLimit" value="10" />
<!--每个项目的发布版本历史记录会保底留存10个(上面配置的),对于超过的会走日期比对(当前服务器时间-版本批次日期)>10(下面配置) 的发布文件夹会被删除,防止磁盘占用过大 10代表10天 不填默认10-->
<!--填0代表不比较日期,完全按照OldPulishLimit来-->
<add key="ClearOldPublishFolderOverDays" value="10" />
<!--发布使用目录 为空代表当前目录 ->
<add key="DeployDir" value=""/>
</appSettings>
</configuration>
执行下面命令把AntAgent安装为linux服务运行
sudo cp AntAgent.service /etc/systemd/system/AntAgent.service
sudo systemctl daemon-reload
sudo systemctl enable AntAgent
sudo systemctl start AntAgent
安装成功后使用命令:sudo systemctl status AntAgent 查看是否成功运行
好了,以上服务器上agent安装完毕
如果agent已经启动了 再修改agent的配置文件,那你可以用命令
sudo systemctl restart AntAgent
重新运行agent
为了更方便的在linux服务器上安装agent我写了一个快速安装的脚本(只需要敲一行命令即可安装为agent为服务):
curl https://mysharelist.com/installAgent.sh|sudo sh
推荐使用上面的脚本一键安装 最新agent版本为6.8 已经安装过的也可以执行上面一键更新为最新版(更新不会更改你原来的配置)
第二步 安装AntDeploy插件
如果下载很慢可以插件市场官网下载下来双击安装: https://marketplace.visualstudio.com/items?itemName=nainaigu.AntDeployVsix
打开你要发布的工程
工程文件右键可以召唤AntDeploy 如果没有 看下是不是被禁用了
第一次发布需要配置服务器的agent信息
- 新增一个环境
- 在环境下添加Token服务器(就是上面agent的服务器Ip:端口号)
进入Linux服务发布
- 选择刚刚添加的环境
- 录入要发布的服务名称
- 点击发布