跳到主要內容

[DevOps] 實作軟體CI/CD運行架構 - CD part

接續上一篇CI,CD為Continue Deploy/Deliver,我們以ASP.NET project為例,分兩種:

1. 僅Copy檔案到指定位置
2. IIS部屬

1. 僅Copy檔案到指定位置
參考連結:
https://dotblogs.azurewebsites.net/stanley14/2018/06/19/Jenkins_CopyArtifact_plugin

與連結不同的是:
- 在"管理Jenkins -> 組態設定"中,請先設定好Jenkins主機的IP(不要用"localhost"):


- "(2)Jenkins Master設定" 到Agents區塊,選固定,按下Agent protocols如下圖:
選擇一個port當作與Slave節點溝通的port。

- 接著在 "(3)Master新增Slave節點" 新增節點中的設定裡,要將port設定上去 (Port前面要加":"):

-在 "(6)封存成品" 設定完成後,

在"建置"中加入如下:


- 在"(7)Slave 複製成品並進行佈署(pipeline)"中,pipeline script要先安裝Jenkins plugin "Pipeline: Groovy",安裝成功後重新登入。

Sample code for pipeline script:

node('CD_server') {  
   stage('Stage 取得Build版本'){
             script {
                 step ([$class: 'CopyArtifact',
                 projectName: 'CiCdTest',
                 target: 'Infra']);
             }
   }
   /*stage('Stage 停止服務'){
       bat 'echo %USERDOMAIN%\\%USERNAME%'
       bat 'powershell.exe "Start-Process powershell -ArgumentList \'-ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -File D:\\Jenkins\\StopServices.ps1\' -Verb RunAs"'
       sleep 5
   }
    stage('Stage 服務過版'){
      bat '''xcopy "C:\\Program Files (x86)\\Jenkins\\workspace\\WindowsServiceDeploy\\Infra\\CiCdTest \\bin\\Debug\\*.*" "C:\\AP\\CiCdTest\\data\\" /s /d /h /y /I '''
   }*/
}


執行完成後檔案就會被Copy到Slave節點所設定的路徑下。

2. IIS部屬

參考網頁 (布萊恩的技術相談室):

留言