DevOps課程-Jenkins 17

AWS Services課程建立EC2 instance(redhat Linux Base)來做Jenkins被佈署機台 — 完整pipeline改用docker-compose

ZONGRU Li
Feb 3, 2022

首先docker-compose又是不同服務,並且不包含在yum安裝檔中

所以需要另行安裝docker-compose

link

執行安裝:

會建立出/usr/local/bin/docker-compose目錄

並依據官網描述,要打開執行權限:

#確認docker-compose版本:
docker-compose --version

接著複製新的Jenkins pipeline:

接著要在jenkins-job-pipeline這個branch內新增三個檔案:

  1. docker-compose.yaml
  2. server-cmds.sh
  3. JenkinsfileEC2compose

docker-compose.yaml內容如下:

server-cmds.sh內容如下:

JenkinsfileEC2compose內容如下:

github上太長就不貼了,反正就是有commit進去了!

在確認機台上沒有Container情況下:

執行該新增的pipeline Job:

成功執行docker-compose佈署!

確認機台上有運行的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)

但是實務上不一定需要,所以就需要時另行組合

細節其實看看上面語法就可以了解

只是牽涉的機台很多,要慢慢打通

參考課程reference

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet