天天看點

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)檔案裡面擷取

netcore一鍵部署到linux伺服器以服務方式背景運作

把檔案上傳你的linux伺服器

解壓後有3個檔案

netcore一鍵部署到linux伺服器以服務方式背景運作
  • 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
           
netcore一鍵部署到linux伺服器以服務方式背景運作

修改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 檢視是否成功運作

netcore一鍵部署到linux伺服器以服務方式背景運作

好了,以上伺服器上agent安裝完畢

如果agent已經啟動了 再修改agent的配置檔案,那你可以用指令

sudo systemctl restart AntAgent 
           

重新運作agent

為了更友善的在linux伺服器上安裝agent我寫了一個快速安裝的腳本(隻需要敲一行指令即可安裝為agent為服務):

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

 推薦使用上面的腳本一鍵安裝 最新agent版本 已經安裝過的也可以執行上面一鍵更新為最新版(更新不會更改你原來的配置)

netcore一鍵部署到linux伺服器以服務方式背景運作

第二步 安裝AntDeploy插件

netcore一鍵部署到linux伺服器以服務方式背景運作

如果下載下傳很慢可以插件市場官網下載下傳下來輕按兩下安裝: https://marketplace.visualstudio.com/items?itemName=nainaigu.AntDeployVsix

打開你要釋出的工程

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

netcore一鍵部署到linux伺服器以服務方式背景運作

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

  1. 新增一個環境
  2. 在環境下添加Token伺服器(就是上面agent的伺服器Ip:端口号)
netcore一鍵部署到linux伺服器以服務方式背景運作

進入Linux服務釋出

  1. 選擇剛剛添加的環境
  2. 錄入要釋出的服務名稱
  3. 點選釋出
    netcore一鍵部署到linux伺服器以服務方式背景運作

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

netcore一鍵部署到linux伺服器以服務方式背景運作

如果您覺得閱讀本文對您有幫助,請點一下“推薦”按鈕,您的“推薦”将是我最大的寫作動力!歡迎各位轉載,轉載文章之後須在文章頁面明顯位置給出作者和原文連接配接,謝謝。

繼續閱讀