• 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)文件里面获取

    image

    把文件上传你的linux服务器

    解压后有3个文件 image

    • AntAgent.service 是安装为服务的描述文件
    • AntDeployAgentLinuxService 执行文件
    • AntDeployAgentLinuxService.config 配置参数

    按照下面更改AntAgent.service中的 WorkingDirectory 和 ExecStart

    [Unit]
    Description=AntAgent
    
    [Service]
    Type=notify
    
    ## WorkingDirectory是上面的AntDeployAgentLinuxService所在目录
    WorkingDirectory=/home/ubuntu/download
    ## ExecStartAntDeployAgentLinuxService执行文件的完整路径
    ExecStart=/home/ubuntu/download/AntDeployAgentLinuxService
    SyslogIdentifier=AntAgent
    Restart=always        
    RestartSec=5
    
    [Install]
    WantedBy=multi-user.target
    
    

    赋予这个可执行文件权限

    chmod +x AntDeployAgentLinuxService
    

    image

    修改agent配置文件AntDeployAgentLinuxService.config

    
    <configuration>
      <appSettings>
    
        <!-- 访问agentToken,保护你服务器安全的 -->
        <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-->
        <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 查看是否成功运行

    image

    好了,以上服务器上agent安装完毕

    如果agent已经启动了 再修改agent的配置文件,那你可以用命令

    sudo systemctl restart AntAgent 
    

    重新运行agent

     

    为了更方便的在linux服务器上安装agent我写了一个快速安装的脚本(只需要敲一行命令即可安装为agent为服务):

    curl https://mysharelist.com/installAgent.sh|sudo sh

     

    第二步 安装AntDeploy插件

     

    如果下载很慢可以插件市场官网下载下来双击安装: https://marketplace.visualstudio.com/items?itemName=nainaigu.AntDeployVsix

    打开你要发布的工程

    工程文件右键可以召唤AntDeploy 如果没有 看下是不是被禁用了 image

    第一次发布需要配置服务器的agent信息

    1. 新增一个环境
    2. 在环境下添加Token服务器(就是上面agent的服务器Ip:端口号)

    image

    进入Linux服务发布

    1. 选择刚刚添加的环境
    2. 录入要发布的服务名称
    3. 点击发布 image

    agent做了什么日志里面详细记录了

    image

  • 相关阅读:
    Linux下select调用引发的血案
    http://www.regexlab.com/zh/regref.htm
    TPL: 一个新的C++正则表达式(regex)库
    Kerneloops为Linux用户与开发人员搭建“oops”报告提交桥梁
    LINUX同步软件rsync原理
    Oops错误
    C03Java同步实践加强班第9周上机任务
    C03Java同步实践加强班第8周上机任务
    关于读书:读XX书是否为时过早,是否有意义
    C++程序设计第八周上机实践项目
  • 原文地址:https://www.cnblogs.com/yudongdong/p/14017569.html
Copyright © 2020-2023  润新知