DevOps課程-Jenkins 17
AWS Services課程建立EC2 instance(redhat Linux Base)來做Jenkins被佈署機台 — 完整pipeline改用docker-compose
首先docker-compose又是不同服務,並且不包含在yum安裝檔中
所以需要另行安裝docker-compose
執行安裝:
並依據官網描述,要打開執行權限:
#確認docker-compose版本:
docker-compose --version
接著複製新的Jenkins pipeline:
接著要在jenkins-job-pipeline這個branch內新增三個檔案:
- docker-compose.yaml
- server-cmds.sh
- JenkinsfileEC2compose
docker-compose.yaml內容如下:
server-cmds.sh內容如下:
JenkinsfileEC2compose內容如下:
github上太長就不貼了,反正就是有commit進去了!
在確認機台上沒有Container情況下:
執行該新增的pipeline Job:
確認機台上有運行的Container了!:
整個過程就是一樣跑Jenkinsfile
最後佈署時先把必要的佈署script,docker-compose檔案scp上機台去
然後執行佈署scipt,並且使用變數:
後面執行docker-compose時就可以使用到:
也可以前面javapig/demo-app寫為固定值,只把後面TAG改為變數
甚至EC2機台也可以改為變數,可以佈署到不同機台
還有前面學到的自動增加版本號mvn語法其實也能加進來
可參考課程9-10的部分(10 — Deploy to EC2 server from Jenkins Pipeline — CI/CD Part 3)
但是實務上不一定需要,所以就需要時另行組合
細節其實看看上面語法就可以了解
只是牽涉的機台很多,要慢慢打通