30. Docker 與CICD - iT 邦幫忙 | jenkins pipeline docker build
2023.01最新內容已更新於BLOGEric:接著,我們單獨討論Jenkins與Docker的串接方式吉米:OK。如果曾經使用Jenkins進行發佈,或許對pipeline並不陌生。在Pipeline中,Jenkins會依據jenkinsfile內容的指示執行各種動作。運用Groovy的格式來撰寫jenkinsfile讓使用者可以客制化建置的流程與環境。經由jenkinsfile與docker的配合,我們可以自行訂定各階段(stages),使用不同DockerImage建置環境,執行不同的動作。而無需手動配置環境。下面的範例,在測試階段,調用node,js的dockerimage做為執行環境,然後執行node.js的相關動作。Jenkinsfile...
2023.01 最新內容已更新於 BLOG
Eric: 接著,我們單獨討論 Jenkins 與 Docker 的串接方式
吉米: OK。
如果曾經使用 Jenkins 進行發佈,或許對 pipeline 並不陌生。
在 Pipeline 中,Jenkins 會依據 jenkinsfile 內容的指示執行各種動作。運用 Groovy 的格式來撰寫 jenkinsfile 讓使用者可以客制化建置的流程與環境。
經由 jenkinsfile 與 docker 的配合,我們可以自行訂定各 階段 (stages) ,使用不同 Docker Image 建置環境,執行不同的動作。而無需手動配置環境。
下面的範例,在 測試階段,調用 node,js 的 docker image 做為執行環境,然後執行 node.js 的相關動作。
Jenkinsfile (Declarative Pipeline) pipeline { agent { docker { image node:7-alpine } } stages { stage(Test) { steps { sh node --version } } } } 1. dockerfilePipeline 支援運用 dockerfile,進行 docker image 的建立與執行。
當我們將 jenkinsfile 中,使用 agent { dockerfile true } ,Pipeline 就會使用 Repository 根目錄下的 dockerfile ,進行 docker image 的建立與執行。
pipeline { agent { dockerfile true } stages { stage(Test) { steps { ...