接續上一篇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
與連結不同的是:
- "(2)Jenkins Master設定" 到Agents區塊,選固定,按下Agent protocols如下圖:
-在 "(6)封存成品" 設定完成後,
在"建置"中加入如下:
- 在"(7)Slave 複製成品並進行佈署(pipeline)"中,pipeline script要先安裝Jenkins plugin "Pipeline: Groovy",安裝成功後重新登入。
Sample code for pipeline script:
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前面要加":"):
在"建置"中加入如下:
- 在"(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部屬
參考網頁 (布萊恩的技術相談室):
留言
張貼留言