mac通過docker一鍵部署Jenkins

目錄

  • mac通過docker一鍵部署Jenkins
    • 一、前言
    • 二、系統配置
    • 三、安裝步驟
      • Dockerhub查看鏡像地址
      • 1、一鍵安裝
        • 1.1、下載腳本
        • 1.2、安裝程序
          • 1.2.1、安裝程序詳情
          • 1.2.2、下載必要軟件詳情
        • 1.3、啟動成功后,即可正常訪問
        • 1.4、查看登錄密碼
        • 1.5、插件自定義安裝
        • 1.6、修改國內插件下載源
        • 1.7、容器內下載最新版本Jenkins
          • 1.7.1、以root用戶登錄容器
          • 1.7.2、在容器中下載jenkins的最新war包
          • 1.7.3、新舊war包替換
          • 1.7.4、退出容器,并重啟應用
        • 1.8、手動安裝社區推薦的插件
        • 1.9、解決問題
        • 1.10、卸載程序
        • 1.10.1、卸載程序詳情
    • 四、總結
    • 五、后記
mac通過docker一鍵部署Jenkins一、前言程序猿開發任務本來就比較繁鎖,如果搭建各種開源的軟件還需要搜索這樣那樣的配置,那基本上兩鬢斑白的頭發基本上都快脫光了,如何找女朋友呢?難道一直和五姑娘為伴?所以自己當第一個吃螃蟹的人摸索了一些套路,編寫一些簡易的 shell 腳本幫我們快速的搭建服務器,猿們只要按著套路“一步一步”的操作,基本上都可以快速部署服務,也有《Jenkins自動安裝腳本》,大家根據自己的實際情況進行操作 。
二、系統配置mac os:Montereymac version:12.4 (21F79)mac type: MacBook Air (M1, 2020), Apple M1docker desktop version:v4.10.0docker version:v20.10.17docker-compose version: v1.29.2三、安裝步驟Dockerhub查看鏡像地址# 如果你比較懶可以使用最后的“Jenkins自動安裝腳本”,mac電腦通用https://hub.docker.com/r/jenkins/jenkins/tags1、一鍵安裝1.1、下載腳本https://gitee.com/xiaoyaojiugui/technical/blob/master/docker/foundations/cicd/jenkins1.2、安裝程序# 跳轉到指定文件夾,并執行如下命令:sh ./jenkins.sh1.2.1、安裝程序詳情---------------函數開始執行---------------1.1、檢查必要軟件,跳過此步驟,目錄已存在[/Users/jason.zhuo/data/docker/apps/jdk-17]1.2、檢查必要軟件,跳過此步驟,目錄已存在[/Users/jason.zhuo/data/docker/apps/apache-maven-3.8.6]1.3、檢查必要軟件,跳過此步驟 , 文件已存在[/Users/jason.zhuo/codes/leisure/doc/technical/docker/foundations/cicd/jenkins/software/jenkins.war]2.1、執行創建容器操作 , 跳過此步驟 , 鏡像已存在[jenkins/jenkins:latest]2.2、執行創建容器操作,創建目錄并授權,執行命令:sudo mkdir -p -v /Users/jason.zhuo/data/docker/volumes/jenkins/{jenkins-home,conf} && sudo chown -R jason.zhuo /Users/jason.zhuo/data/docker/volumes/jenkinsmkdir: created directory '/Users/jason.zhuo/data/docker/volumes/jenkins'mkdir: created directory '/Users/jason.zhuo/data/docker/volumes/jenkins/jenkins-home'mkdir: created directory '/Users/jason.zhuo/data/docker/volumes/jenkins/conf'2.3、執行創建容器操作,執行命令:docker run -d -p 39090:8080 -p 50000:50000 -v /Users/jason.zhuo/data/docker/volumes/jenkins/jenkins-home:/var/jenkins_home --name jenkins jenkins/jenkins:latest2.4.1、執行創建容器操作 , 根據服務器性能調整時間 , 默認休息 10 秒,--> Tue 20 Sep 2022 11:12:41 AM CST <--2.4.2、執行創建容器操作,根據服務器性能調整時間,默認休息 10 秒 , --> Tue 20 Sep 2022 11:12:51 AM CST <--2.5.1、執行創建容器操作,修改配置文件[/Users/jason.zhuo/data/docker/volumes/jenkins/jenkins-home/hudson.model.UpdateCenter.xml]2.5.2、執行創建容器操作,查看配置文件,執行命令:cat /Users/jason.zhuo/data/docker/volumes/jenkins/jenkins-home/hudson.model.UpdateCenter.xml | grep 'url'2.5.3、執行創建容器操作,修改配置文件[/Users/jason.zhuo/data/docker/volumes/jenkins/jenkins-home/updates/default.json]sed -i "" 's/https:\/\/updates.jenkins.io\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /Users/jason.zhuo/data/docker/volumes/jenkins/jenkins-home/updates/default.json && sed -i "" 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' /Users/jason.zhuo/data/docker/volumes/jenkins/jenkins-home/updates/default.json2.5.5、執行創建容器操作,拷貝配置[/etc/profile]到本地并配置環境變量,執行命令:sudo docker cp $(docker ps -a | grep jenkins | awk '{print $1}'):/etc/profile /Users/jason.zhuo/data/docker/volumes/jenkins/conf/2.6.1、執行重建容器操作,其容器為[jenkins/jenkins:latest],執行命令: docker run -d -p 39090:8080 -p 50000:50000 --privileged=true -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -v /Users/jason.zhuo/data/docker/volumes/jenkins/jenkins-home:/var/jenkins_home -v /Users/jason.zhuo/data/docker/volumes/jenkins/conf/profile:/etc/profile -v /Users/jason.zhuo/data/docker/volumes/jenkins/conf/.bashrc:/root/.bashrc -v /Users/jason.zhuo/data/docker/apps/apache-maven-3.8.6:/usr/local/apps/apache-maven-3.8.6 -v /Users/jason.zhuo/data/docker/apps/jdk-17:/usr/local/apps/jdk-17 --name jenkins jenkins/jenkins:latest2.6.2、復制Jenkins的最新war包到指定目錄 , 執行命令:docker cp ./software/jenkins.war $(docker ps -a | grep jenkins | awk '{print $1}'):/usr/share/jenkins/jenkins.war2.7.1、查看容器狀態,執行命令:docker inspect --format='{{.State.Status}}' jenkins2.7.2、查看容器狀態,[exited],啟動命令:docker start jenkinsjenkins2.7.3、查看容器詳情,執行命令:docker ps | grep jenkins/jenkins:latest3.1、其他待執行命令,登錄容器其命令為:docker exec -it -u root jenkins /bin/bash3.2、其他待執行命令,復制最新war包其命令為:docker cp ./jenkins.war $(docker ps -a | grep jenkins | awk '{print $1}'):/usr/share/jenkins/jenkins.war---------------函數執行完畢---------------注意:此處休息10秒,是因為剛啟動該文件沒有初始完成(hudson.model.UpdateCenter.xml)

推薦閱讀