在Ubuntu上進行Jenkins的容器化部署是一個相對簡單且高效的過程,可以確保環境的一致性和快速部署。以下是詳細的步驟:
安裝Docker: 確保你的系統上已經安裝了Docker,并且Docker服務正在運行??梢詤⒖?a >Docker官方文檔進行安裝。
安裝Java: Jenkins是基于Java的應用程序,因此在安裝Jenkins之前,需要在系統上安裝Java環境??梢允褂靡韵旅畎惭bOpenJDK:
sudo apt update
sudo apt install openjdk-11-jdk
安裝完成后,可以通過以下命令驗證Java安裝:
java -version
拉取Jenkins鏡像: 使用Docker命令拉取Jenkins鏡像。這里以最新的Jenkins LTS版本為例:
docker pull jenkins/jenkins:lts
創建并啟動Jenkins容器: 創建并啟動Jenkins容器,并映射端口和卷。以下是一個示例命令:
docker run -d \
--name jenkins \
-p 8080:8080 \
-p 50000:50000 \
-v /home/local/docker/jenkins/jenkins_home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose \
-v /usr/bin/docker-compose:/usr/bin/docker-compose \
-v /home/local/java/jdk1.8.0_351:/usr/local/java \
-v /home/local/maven/apache-maven-3.8.1:/usr/local/maven \
--privileged=true \
--restart=always \
jenkins/jenkins:lts
解釋:
-d:以守護進程模式運行容器。--name jenkins:為容器指定一個名稱,這里命名為jenkins。-p 8080:8080:將主機的8080端口映射到容器的8080端口。-p 50000:50000:將主機的50000端口映射到容器的50000端口(用于Jenkins代理)。-v /home/local/docker/jenkins/jenkins_home:/var/jenkins_home:將主機的jenkins_home卷掛載到容器的/var/jenkins_home目錄,以便持久化Jenkins的數據。-v /var/run/docker.sock:/var/run/docker.sock:映射宿主機的Docker套接字到容器內,以便在容器內使用Docker命令。-v /usr/bin/docker:/usr/bin/docker:映射宿主機的Docker可執行文件到容器內。-v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose:映射宿主機的Docker Compose可執行文件到容器內。-v /home/local/java/jdk1.8.0_351:/usr/local/java:映射本地的Java安裝目錄到容器內。-v /home/local/maven/apache-maven-3.8.1:/usr/local/maven:映射本地的Maven安裝目錄到容器內。--privileged=true:給予容器root權限。--restart=always:容器重啟時自動重啟。訪問Jenkins: 容器啟動后,可以通過瀏覽器訪問Jenkins。打開瀏覽器,輸入以下URL:
http://localhost:8080
如果服務器在遠程主機上,請將localhost替換為服務器的IP地址或域名。
初始化Jenkins: 第一次訪問時,會提示輸入初始管理員密碼。這個密碼可以在Jenkins容器的啟動日志中找到:
sudo cat /var/jenkins_home/secrets/initialAdminPassword
配置Jenkins:
自動化部署流程:
通過上述步驟,你可以在Ubuntu系統上成功使用Docker容器化部署Jenkins,并實現自動化部署。