記錄---docker安裝及配置jenkins全流程

林恒發表於2024-12-09

🧑‍💻 寫在開頭

點贊 + 收藏 === 學會🤣🤣🤣

一、安裝jenkins

1. 拉取jenkins映象

docker pull jenkins/jenkins:lts

2. 建立在宿主機建立jenkins目錄

mkdir -p ~/jenkins_home
sudo chown 1000:1000 ~/jenkins_home

3. 建立docker-compose.yaml

# 自定義網路模式 可以沒有值
networks:
  jenkins:
jenkins:
    # 指定服務使用的映象
    image: jenkins/jenkins:lts
    # 設定容器重啟策略為始終重啟
    restart: always
    # 給予容器特權許可權,允許進行Docker-in-Docker操作
    privileged: true
    networks:
      - jenkins
    # 設定容器環境變數
    environment:
      DOCKER_TLS_CERTDIR: /certs/client
    # 定義資料卷對映
    volumes:
      - /usr/local/jenkins/jenkins-data/certs:/certs/client:ro
      # jenkins 資料目錄
      - ~/jenkins_home:/var/jenkins_home
      # 私鑰目錄
      - /root/jenkins/.ssh:/root/.ssh
      # 對映一個目錄到宿主機指定目錄,留作備份使用
      - /usr/local/jenkinsBackup:/var/jenkinsBackup
    # 定義埠對映
    ports:
      - "8080:8080"
      - "50000:50000"
    # 設定容器執行使用者為root,以便有足夠許可權操作Docker
    user: root

4. 啟動jenkins服務

docker-compose -p jenkins -f docker-compose.yaml up -d

這時候我們可以jenkins前端頁面,透過瀏覽器訪問地址http://主機IP:8080/ 我們可以看到這樣一個介面

可以透過以下命令獲取到金鑰

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

填入介面之後,會進入下面這樣的頁面,安裝外掛,建立管理員賬號,後面跟著介面操作就行了

二、環境配置

java sdk安裝及配置

現在jenkins 依賴的java最低版本是java 17,安卓步驟如下

docker exec -u root -it you-jenkins-names bash # 要改成對應jenkins 容器名稱
apt update
apt install -y openjdk-17-jdk
java -version

配置時,進入jenkins 全域性工具管理介面,找到JDK部分,新增如下內容

publish over SSH 金鑰配置

跨伺服器部署時,需要配置SSH金鑰

  1. 進入容器
    # 進入jenkins容器內部,注意改成您的容器名稱
    docker exec -u root -it jenkins bash
  1. 生成金鑰
ssh-keygen -m PEM -t rsa -b 2048

  這時候需要輸入生成檔案路徑,預設即可,同時要輸入密碼,你個人輸入的金鑰要記住,後面配置要用。接下來就獲取響應的金鑰

//列印私鑰
 cat /root/.ssh/id_rsa
//列印公鑰
 cat /root/.ssh/id_rsa.pub
  1. 把私鑰配置到jenkins上面 在jenkins的# Configure System配置中配置如下

4. 配置目標伺服器的authorized_keys Jenkins伺服器複製id_rsa.pub檔案的內容放到目標伺服器vim /root/.ssh/authorized_keys檔案中

金鑰所有內容即配置好了

三、使用資料備份和遷移

  1. 資料備份 jenkins我們可以使用ThinBackup外掛備份資料,安裝好後配置如下。特別注意,Backup directory 備份路徑要跟我們上面的yaml檔案對映的檔案路徑對應。後續資料遷移和恢復用得上

  1. 資料遷移

我們從其他jenkins系統透過ThinBackup備份資料後,把資料複製到當前伺服器jenkins的備份路徑對應的宿主機路徑資料夾中,透過本文上面的yaml檔案可以看出,

務器jenkins系統介面中,進入ThinBackup 管理頁面

入restore,選擇我們遷移過來的對應備份,點選restore即可完成老系統所有資料的遷移。恢復備份過程中,系統會重啟

到這裡,整個jenkins系統就部署並遷移好了

本文轉載於:https://juejin.cn/post/7446250001381244965

如果對您有所幫助,歡迎您點個關注,我會定時更新技術文件,大家一起討論學習,一起進步。

記錄---docker安裝及配置jenkins全流程

相關文章