1. 程式人生 > >netcore一鍵部署到linux伺服器以服務方式後臺執行

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-->
    <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

第二步 安裝AntDeploy外掛

 

 

 

如果下載很慢可以外掛市場官網下載下來雙擊安裝: https://marketplace.visualstudio.com/items?itemName=nainaigu.AntDeployVsix

開啟你要釋出的工程

工程檔案右鍵可以召喚AntDeploy 如果沒有 看下是不是被禁用了

第一次釋出需要配置伺服器的agent資訊

  1. 新增一個環境
  2. 在環境下新增Token伺服器(就是上面agent的伺服器Ip:埠號)

進入Linux服務釋出

  1. 選擇剛剛新增的環境
  2. 錄入要釋出的服務名稱
  3. 點擊發布

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