From 14b56eb2e7c0063e5eb1f9fb3e48bfe70a0b380a Mon Sep 17 00:00:00 2001 From: Jeffery Date: Mon, 5 May 2025 03:29:47 +0000 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20Gitlab=20CI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Gitlab-CI.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 Gitlab-CI.md diff --git a/Gitlab-CI.md b/Gitlab-CI.md new file mode 100644 index 0000000..5684cca --- /dev/null +++ b/Gitlab-CI.md @@ -0,0 +1,47 @@ +# 安裝 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] + +``` \ No newline at end of file