使用 Jenkins 自动部署 java-web 应用到 Docker 容器(全过程)
寫在前面
首先我們在使用默認的 Jenkins 安裝配置的時候,是缺少幾個插件的,我們需要手動安裝上去,插件名稱如下(我安裝 Jenkins 的時候默認把他漢化了):
- SSH server
- Publish Over SSH
- Docker Pipeline
- Docker
- Docker Commons Plugin
- Maven Integration Plugin
然后重啟就好了
插件安裝入口
準備好 GIT 倉庫
就是一個可以看到效果的 Test 工程,這里我使用我的一個 web 工程來測試:https://gitee.com/peppa-qiu/ci-cd-test.git
特別說明,項目中需要有 Dockerfile,和 docker-compose-dev.yml 文件
- Dockerfile 文件
- docker-compose-dev.yml 文件
創(chuàng)建之前的準備
1、設置 --> 全局工具配置:設置 jdk,maven,ssh server
2、系統(tǒng)管理 --> 系統(tǒng)配置:配置 SSH Servers
注意,這一步需要安裝好 SSH server、Publish Over SSH 這兩個插件
Jenkins 創(chuàng)建構建流程
1、創(chuàng)建一個 maven 項目
2、配置構建流程
1、配置 GIT 倉庫信息
2、配置觸發(fā)構建條件
3、配置 Build
2、構建成功之后的操作(Post Steps)
記得勾選一下 Verbose output in console,可以到時候在控制臺看到輸出信息
上傳 jar 包到服務器的配置:
上傳 Dockerfile 文件的配置(另外一個 docker-compose-dev.yml 一樣的操作,這里就不截圖了):
Mac 版本 SHELL 腳本
#!/bin/bash source /etc/profile source ~/.zshrc if [[ -a ".env" ]]; then rm -rf .env fi cd /Users/qiukangming/jenkins-build/ci-cd-test # BUILD_NUMBER 是 Jenkins 的內(nèi)置變量,可以使用 $ 獲取 echo BUILD_NUMBER=${BUILD_NUMBER} >> .env docker build -t ci-cd-test:${BUILD_NUMBER} . docker-compose -f docker-compose-dev.yml -p ci-cd-test stop docker-compose -f docker-compose-dev.yml -p ci-cd-test up -dLinux 版本 SHELL 腳本
#!/bin/bash source /etc/profile if [[ -a ".env" ]]; then rm -rf .env fi cd /root/jenkins-build/ci-cd-test echo BUILD_NUMBER=${BUILD_NUMBER} >> .env docker build -t ci-cd-test:${BUILD_NUMBER} . docker-compose -f docker-compose-dev.yml -p ci-cd-test stop docker-compose -f docker-compose-dev.yml -p ci-cd-test up -d然后保存退出就行了~
3、查看效果
我們可以等待 5 分鐘自動構建,也可以手動運行構建流程
4、服務器上查看構建好的文件
5、查看 Docker 情況
6、訪問接口
到這里我們的 Jenkins 的 CI/CD 流程就弄好啦~
總結
以上是生活随笔為你收集整理的使用 Jenkins 自动部署 java-web 应用到 Docker 容器(全过程)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用 Bamboo 构建项目的 CICD
- 下一篇: javaMail