1. Jenkins + Docker 一鍵自動化部署 Java Spring Boot 應用最簡流程

        共 3158字,需瀏覽 7分鐘

         ·

        2022-11-18 23:51


        本文章實現(xiàn)最簡單全面的 Jenkins + Docker + Spring Boot 一鍵自動部署項目。步驟齊全,少走坑路。


        • 環(huán)境:CentOS7 + Git (Gitee)

        • 實現(xiàn)步驟:在 Docker 安裝 Jenkins,配置 Jenkins 基本信息,利用 Dockerfile 和 Shell 腳本實現(xiàn)項目自動拉取打包并運行。


        一、安裝 Docker


        安裝社區(qū)版本 Docker CE


        1. 確保 yum 包更新到最新


          yum update


          2. 卸載舊版本(如果安裝過舊版本的話)


            yum remove docker  docker-common docker-selinux docker-engine


            3. 安裝需要的軟件包


              yum install -y yum-utils device-mapper-persistent-data lvm2


              4. 設置 yum 源


                yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

                5. 安裝 Docker


                  yum install docker-ce  #由于repo中默認只開啟stable倉庫,故這里安裝的是最新穩(wěn)定版17.12.0yum install <自己的版本>  # 例如:sudo yum install docker-ce-17.12.0.ce


                  6. 啟動并設置開機啟動


                    systemctl start dockersystemctl enable docker


                    7. 驗證安裝是否成功


                      docker version


                      二、安裝 Jenkins


                      Jenkins 中文官網(wǎng):https://www.jenkins.io/zh/


                      1. 安裝 Jenkins


                      Docker 安裝一切都是那么簡單。注意檢查 8080 是否已經(jīng)占用,如果占用請修改端口。


                        docker run --name jenkins -u root --rm -d -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean

                        如果沒改端口號的話,安裝完成后訪問地址:


                          http://{部署Jenkins所在服務IP}:8080

                          此處會有幾分鐘的等待時間。


                          2. 初始化 Jenkins


                          詳情見官網(wǎng)教程:https://www.jenkins.io/zh/doc


                          2.1 解鎖 Jenkins


                            # 進入Jenkins容器docker exec -it {Jenkins容器名} bash  # 例如 docker exec -it jenkins bash
                            # 查看密碼cat /var/lib/jenkins/secrets/initialAdminPassword
                            # 復制密碼到輸入框里面



                            2.2 安裝插件


                            選擇第一項:安裝推薦的插件。



                            2.3 創(chuàng)建管理員用戶


                            此賬戶信息一定要記住哦。


                            三、系統(tǒng)配置


                            1. 安裝需要插件


                            進入【首頁】–【系統(tǒng)管理】–【插件管理】–【可選插件】。搜索以下需要安裝的插件,點擊安裝即可。


                            • 安裝 Maven Integration

                            • 安裝 Publish Over SSH(如果不需要遠程推送,不用安裝)

                            • 如果使用 Gitee 碼云,安裝插件Gitee(自帶 Git 不用單獨安裝)


                            2. 配置 Maven


                            進入【首頁】–【系統(tǒng)管理】–【全局配置】,拉到頁面最下方 maven–maven 安裝。



                            四、創(chuàng)建任務


                            1. 新建任務


                            點擊【新建任務】,輸入任務名稱,點擊構(gòu)建一個自由風格的軟件項目。



                            2. 源碼管理


                            點擊【源碼管理】–【Git】,輸入倉庫地址,添加憑證,選擇好憑證即可。




                            3. 構(gòu)建觸發(fā)器


                            點擊【構(gòu)建觸發(fā)器】–【構(gòu)建】–【增加構(gòu)建步驟】–【調(diào)用頂層 Maven 目標】–【「填寫配置」】–【保存】。



                            此處命令只是 install,看是否能生成 jar 包。


                              clean install -Dmaven.test.skip=true


                              4. 保存


                              點擊【保存】按鈕即可。


                              五、測試


                              該功能測試是否能正常打包。


                              1. 構(gòu)建


                              點擊構(gòu)建按鈕。



                              2. 查看日志


                              點擊正在構(gòu)建的任務,或者點擊任務名稱進入詳情頁面,查看控制臺輸出??词欠衲艹晒Υ虺?jar 包。


                              該處日志第一次可能下載依賴 jar 包失敗,再次點擊構(gòu)建即可成功。





                              3. 查看項目位置


                                cd /var/jenkins_home/workspacell # 即可查看是否存在


                                六、運行項目


                                因為項目和 Jenkins 在同一臺服務器,所以我們用 Shell 腳本運行項目,原理既是通過 Dockerfile 打包鏡像,然后 docker 運行即可。


                                1. Dockerfile


                                在 Spring Boot 項目根目錄新建一個名為 Dockerfile 的文件,注意沒有后綴名。


                                其內(nèi)容如下:(大致就是使用 JDK 8,把 jar 包添加到 docker 然后運行 prd 配置文件。詳細可以查看其他教程)


                                  FROM jdk:8VOLUME /tmpADD target/zx-order-0.0.1-SNAPSHOT.jar app.jarEXPOSE 8888ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=prd"]


                                  2. 修改 Jenkins 任務配置



                                  配置如下:



                                  "-t" 指定新鏡像名,"." 表示 Dockfile 在當前路徑。


                                    cd /var/jenkins_home/workspace/zx-order-apidocker stop zx-order || truedocker rm zx-order || truedocker rmi zx-order || truedocker build -t zx-order .docker run -d -p 8888:8888 --name zx-order zx-order:latest


                                    備注:
                                    1. 上圖用了 docker logs -f 是為了方便看日志,真實環(huán)境不要用,因為會一直等待日志,構(gòu)建任務會失?。?br style="outline: 0px;">2. 加 "|| true" 是如果命令執(zhí)行失敗也會繼續(xù)實行,為了防止第一次沒有該鏡像報錯;

                                    3. 保存:點擊保存即可;

                                    4. 構(gòu)建:查看 Jenkins 控制臺輸出,輸出如下,證明成功;

                                    5. 驗證

                                      docker ps # 查看是否有自己的容器docker logs # 自己的容器名,查看日志是否正確# 打開瀏覽器訪問項目

                                      來源:blog.csdn.net/zqqiang0307/article/details/12045858

                                      瀏覽 59
                                      點贊
                                      評論
                                      收藏
                                      分享

                                      手機掃一掃分享

                                      分享
                                      舉報
                                      評論
                                      圖片
                                      表情
                                      推薦
                                      點贊
                                      評論
                                      收藏
                                      分享

                                      手機掃一掃分享

                                      分享
                                      舉報
                                        
                                        

                                          1. 精品一区在线播放 | 国产一区二区三区18 | 国产欧美视频一区二区三区 | 国产尤物一区二区三区 | 日日爱av |