.NET 開發一個伺服器 應用管理工具

杜燕明發表於2021-10-11

一:背景

  1、Anno.Deploy

  Anno.Deploy可以和 Anno整合使用,用於部署新的服務、啟動服務、停止服務、清理服務。也可以單獨使用,用於守護程式。

使用方法

1、和Anno整合使用

 

2、單獨使用

    annoDeploy status                 檢視程式狀態
    annoDeploy start  [workingName]   啟動程式
    annoDeploy stop   [workingName]   停止程式

  

annoDeploy status 檢視程式狀態

   HelloWorldService21                 UP        pid 24864   admin
   HelloWorldService22                 DOWN      pid -1      admin  

  

annoDeploy start [workingName] 啟動程式

[17:44:15:6832]: HelloWorldService21 已啟動!
                    HelloWorldService21                 UP        pid 14744   admin  

  

annoDeploy stop [workingName] 停止程式

 [17:45:24:2212]: HelloWorldService21 已停止!
                     HelloWorldService21                 DOWN      pid -1      admin  

  

3、annoDeploy 配置檔案

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <!--0,0 第一位是 工作站,第二位資料中心
  (所有的 AnnoService 的 兩位數不能重複例如不能存在【1,2】【1,2】)
  可以存在【1,2】【2,1】
  -->
  <IdWorker>0,1</IdWorker>
  <!--App名稱-->
  <AppName>Anno.Deploy</AppName>
  <!--監聽埠-->
  <Port>7999</Port>
  <!--權重-->
  <Weight>1</Weight>
  <!--功能 非Anno.Plugs  加入方式-->
  <FuncName></FuncName>
  <!--忽略的功能 Trace,Logic-->
  <IgnoreFuncName></IgnoreFuncName>
  <!--超時時間毫秒-->
  <TimeOut>300000</TimeOut>
  <!--註冊到的目標-->
  <Ts Ip="127.0.0.1" Port="7010"/>
  <IocDll>

  </IocDll>
  <appSettings>
    <!-- 程式放置的目錄-->
    <add key="work_directory" value="E:\AnnoDeployStorage"/>
    <!-- 和Anno整合使用的時候的口令-->
    <add key="deploySecret" value="duyanming"/>
  </appSettings>
</configuration>

  

4、annoDeploy 配置一個守護程式

 

如果是通過線上皮膚部署的程式不需要此步驟

在工作目錄下面找到 proc 資料夾,下面的每一個檔案都代表一個程式 新建一個檔案 HelloWorldService21 內容:

{
    "Running":true,
    "AutoStart":"1",
    "AnnoProcessDescription":"admin",
    "ReStartErrorCount":0,
    "Id":24628,
    "WorkingDirectory":"HelloWorldService21",
    "Cmd":"dotnet HelloWorldService.dll -p 7029",
    "NodeName":"Anno.Deploy"
}

  

"Running":true, //程式是否在執行,初次配置設定為 false
"AutoStart":"1",//是否自動啟動
"AnnoProcessDescription":"admin",//程式描述
"ReStartErrorCount":0,//重啟失敗次數 初次配置設定為 0
"Id":-1,//程式程式Id 初次配置設定為 -1
"WorkingDirectory":"HelloWorldService21",//程式名稱 (程式需要放置到work_directory目錄下名字為HelloWorldService21 配置檔名稱和程式資料夾名稱一致)
"Cmd":"dotnet HelloWorldService.dll -p 7029",//啟動命令
"NodeName":"Anno.Deploy"//annoDeploy 的名稱

  

後面在帶領大家開發一個部署代理服務,希望大家多多關注,多多轉發。

github Anno:https://github.com/duyanming/Anno.Core  

gitee      :https://gitee.com/dotnetchina/anno.core

Anno管理皮膚Viper:https://github.com/duyanming/Viper  

體驗地址:http://140.143.207.244/Home/Login

 

歡迎加入QQ群:478399354 ,到這裡我們互為師長專案學習。

相關文章