diff --git a/%E7%9F%A5%E8%AD%98%E5%BA%AB.md b/%E7%9F%A5%E8%AD%98%E5%BA%AB.md index 59b2141..3bb0028 100644 --- a/%E7%9F%A5%E8%AD%98%E5%BA%AB.md +++ b/%E7%9F%A5%E8%AD%98%E5%BA%AB.md @@ -86,6 +86,59 @@ Invoke-WebRequest https://github.com/winsw/winsw/releases/download/v2.12.0/WinSW .\winsw.exe start ``` +## Gitlab Runner + +### 安裝 + +### 範例 + +安裝 IIS,建立應用程式集{pool_name},建立應用程式站台{site_name} + +```yaml +variables: + # 拉取子模組 + GIT_SUBMODULE_STRATEGY: recursive + GIT_SUBMODULE_FORCE_HTTPS: "true" + # 拉取第一層子模組 + GIT_SUBMODULE_DEPTH: 1 + +stages: + - build + - deploy + +build: + stage: build + script: + - dotnet restore + - dotnet publish -c [Debug or Release] -o ..\Build\{project_name} + only: + - master + tag: + - windows + - [development or production] + +deploy: + stage: deploy + script: + - $NOW=Get-Date -Format "yyyy.MM.dd.HH.mm.ss" + # 停止服務 + - C:\Windows\System32\inetsrv\appcmd.exe stop site "{site_name}" + - C:\Windows\System32\inetsrv\appcmd.exe stop apppool /apppool.name:"{pool_name}" + # 第一次部屬過後,這段才能執行,將應用程式移動到備份資料夾 + - mv "C:\inetpub\wwwroot\{project_name}" "..\Backup\{project_name}.$NOW" -Recurse + # 將編譯後的應用程式複製到部屬資料夾 + - cp "..\Build\{project_name}" "C:\inetpub\wwwroot\{project_name}" -Recurse + # 啟動服務 + - C:\Windows\System32\inetsrv\appcmd.exe start apppool /apppool.name:"{pool_name}" + - C:\Windows\System32\inetsrv\appcmd.exe start site "{site_name}" + only: + - master + tag: + - windows + - [development or production] + +``` + # Windows 11 ## 使用舊的右鍵選項