在Ubuntu上实现Jenkins的容器化部署是一个相对简单且高效的过程,可以确保环境的一致性和快速部署。以下是详细的步骤:
Jenkins是基于Java的应用程序,因此在安装Jenkins之前,需要在系统上安装Java环境。可以使用以下命令安装OpenJDK:
sudo apt update
sudo apt install openjdk-11-jdk
安装完成后,可以通过以下命令验证Java安装:
java -version
使用Docker命令拉取Jenkins镜像。这里以最新的Jenkins LTS版本为例:
docker pull jenkins/jenkins:lts
创建并启动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。打开浏览器,输入以下URL:
http://localhost:8080
如果服务器在远程主机上,请将localhost
替换为服务器的IP地址或域名。
第一次访问时,会提示输入初始管理员密码。可以通过以下命令查看初始密码:
sudo cat /var/jenkins_home/secrets/initialAdminPassword
按照上面的步骤Jenkins安装成功了。打开浏览器输入ip:8080地址来查看网页,如页面报错,提示一直加载中,应该是jenkins服务没有启动成功,手动启动下jenkins容器。
sudo docker restart jenkins
以上步骤为在Ubuntu系统上部署Jenkins的基本流程,具体操作可能会因系统版本或特定需求有所不同,建议根据实际情况进行调整。