一、系统要求
1、最低推荐配置:
- 256MB可用内存
- 1GB可用磁盘空间(作为一个Docker容器运行jenkins的话推荐10GB)
2、为小团队推荐的硬件配置:
- 1GB+可用内存
- 50 GB+ 可用磁盘空间
3、软件配置
- Java 8—无论是Java运行时环境(JRE)还是Java开发工具包(JDK)都可以。
注意: 如果将Jenkins作为Docker 容器运行,这不是必需的
二、安装
1、查询Jenkins镜像
docker search jenkins
建议使用的Docker映像是
jenkinsci/blueocean image
(来自the Docker Hub repository
)。 该镜像包含当前的长期支持 (LTS) 的Jenkins版本 (可以投入使用) ,捆绑了所有Blue Ocean插?件和功能。这意味着你不需要单独安装Blue Ocean插件。
2、启动 Jenkins
此处是执行执行docker的run命令,当执行run时,系统会先在本地查找镜像,如果本地没有的话,会自动去远程仓库拉取,省略了 docker pull jenkinsci/blueocean
步骤。
docker run -d --restart=always
--name jenkins-blueocean -u root
-p 8082:8080 -p 50000:50000
-e JAVA_TOOL_OPTIONS='-Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8'
-v /usr/bin/docker:/usr/bin/docker
-v /usr/local/jenkins:/var/jenkins_home
-v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean
- -d:表示后台运行
- –name:表示为docker容器起的别名
- -u root:表示以root身份启动,避免在自动化部署项目时出现权限不足的情况,当然也会损失安全性
- –restart=always:当docker启动时,自动启动该容器,类似开机自启的功能
- -p:开放的端口(宿主机端口:容器端口),50000端口是集群使用的,可以忽略
- -e:设置系统变量,这里指定了java的环境变量,避免控制台乱码
- -v:挂载文件,将容器文件挂载到宿主机目录(宿主机目录:容器内部目录)
这里第一行(/usr/bin/docker:/usr/bin/docker
)将docker命令的目录挂载到宿主机的docker命令目录,这样可以是jenkins拥有调用宿主机docker命令的能力;第二行(/usr/local/jenkins:/var/jenkins_home
)映射的是Jenkins的安装目录;第三行(/var/run/docker.sock:/var/run/docker.sock
)则表示jenkins容器与Docker守护进程通信。
如果 jenkins 容器需要实例化其他Docker容器,则该守护进程(-v /var/run/docker.sock:/var/run/docker.sock
)是必需的。 如果运行声明式管道,其语法包含agent部分用 docker 。例如, agent { docker { … } } 此该守护进程同样也是必需的。
3、查看启动日志和登录密码
由于是后台启动,我们无法判断是启动完成,此时我们可以使用docker logs
命令查询启动日志
首先我们需要使用 docker ps
命令获取服务的container id
然后使用 docker logs
命令查看启动日志,其中 -f 表示跟踪日志输出
docker logs -f 91b6dbb50413
日志输出中的2ff2d857a7cb4f40b20ba393b16c1872
就是我们初始化系统用到的密码。此时我们访问地址 http://ip:8082
我们也可以通过登录界面的提示,进入容器内部查询密码
docker exec -it jenkins-blueocean /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword
3、初始化系统
在输入密码,点击继续后,会进入选择插件页面,此时我们选择安装推荐的插件 即可。
4、设置账号密码
安装完成后会自动进入设置账号密码页面,此时我们设置好账号、密码保存完成即可。