[轉]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
## ExecStart是AntDeployAgentLinuxService執行文件的完整路徑
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>

    <!-- 訪問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 查看是否成功運行

image

好了,以上服務器上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 如果沒有 看下是不是被禁用了 image

第一次發佈需要配置服務器的agent信息

  1. 新增一個環境
  2. 在環境下添加Token服務器(就是上面agent的服務器Ip:端口號)

image

進入Linux服務發佈

  1. 選擇剛剛添加的環境
  2. 錄入要發佈的服務名稱
  3. 點擊發布 image

agent做了什麼日誌裏面詳細記錄了

image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章