1 缘起
我一个开发为什么要学Jenkins?
Jenkins是啥?会给开发人员带来什么收益?
我个人而言,学习Jenkins只是单纯拓展下自己的应用技能,
帮助自己顺利地做实验。
我目前不可能因为自己要进行自动化部署而专门找一个专业人员,
一是没有这部分预算;
二是自己需要锻炼,动手实践。
话说回来,作为技术员,动手实践,填充实战经验,为后续构建完善的系统做准备。
2 Jenkins
Jenkins是独立的开源自动化服务器,可用于自动化构建、测试、交付或部署各种软件任务。
可以通过本地系统包、Docker安装,或者独立运行在安装JRE的机器中。
本文通过Docker部署Jenkins。
2.1 下载
https://www.jenkins.io/download/ 选择Docker镜像。
选择Docker部署类型后,进入如下图的界面,
为了配合JDK版本:8,
我选择符合JDK的Jenkins,通过Tags查看历史Jenkins列表,
因为最新的Jenkins版本已经使用JDK11了,所以需要选择其他版本的Jenkins。
选择JDK8版本的Jenkins,TAG为lts-jdk8,
拉取命令:
docker pull jenkins/jenkins:lts-jdk8
在Ubuntu20中使用sudo拉取:
sudo docker pull jenkins/jenkins:lts-jdk8
拉取过程如下图所示。
2.2 下载镜像:dind
为在Jekins节点内执行Docker命令。
这个镜像按需安装。
sudo docker image pull docker:dind
2.3 新建挂载的文件夹
新建文件夹,用于挂载Jenkins镜像内部的文件,
保证:Jenkins宕机后,文件不丢失,可直接重启,无需再配置。
mkdir -p /home/xindaqi/software/install/jekins/data
修改文件管理员:
sudo chown -R 1000:1000 data
2.4 启动Jekins
使用Docker部署服务,一般有两种启动方式:
(1)前台启动:直接运行,控制台查看日志;
(2)后台启动:守护进行运行,日志文件查看日志;
2.4.1 前台启动
这里将Jenkins对外暴露的端口为:40000
映射Jenkins内部的8080端口。
前台启动,可在控制台直接查看日志,如下图:
sudo docker run --name jenkins-docker --rm \
--volume /home/xindaqi/software/install/jekins/data:/var/jenkins_home \
--publish 40000:8080 \
jenkins/jenkins:lts-jdk8
2.4.2 后台启动
后台启动:守护进程,使用参数:detach,
需要在日志文件中查看日志。
sudo docker run --name jenkins-docker --rm --detach \
--volume /home/xindaqi/software/install/jekins/data:/var/jenkins_home \
--publish 40000:8080 \
jenkins/jenkins:lts-jdk8
2.5 查看容器
Jenkins启动后,查看运行的容器,
获取Jenkins容器ID,如下图:
docker ps
2.6 进入容器
进入容器,是为了获取Jenkins初始密码,
毕竟第一次运行,需要查看密码。
sudo docker exec -it fe682ca1d6aa /bin/sh
获取初始密码
cat /var/jenkins_home/secrets/initialAdminPassword
初始密码:
0cb8b5be1b3d4a408043682379845ba4
这里,完成Jenkins准备工作,下面正式配置Jenkins。
3 配置Jekins
3.1 引导页
通过访问如下地址,进入Jenkins引导页,如下图所示,由图可知,需要填入初始密码,即上面的初始密码。
http://192.168.211.129:40000
3.2 安装插件
密码校验通过后,进入安装插件步骤,如下图所示,
这里选择:安装推荐的插件。
安装过程如下图所示。
3.3 创建用户
安装推荐插件后,进入创建用户,如下图,创建第一个管理员用户。
管理员用户信息如下:
序号 | 属性 | 描述 |
1 | 用户名 | admin |
2 | 密码 | admin |
实例:
开始使用如下图:
3.4 首页
完成如上配置后,即可进入Jenkins首页,如下图,开始愉快地玩耍吧!
4 小结
无小结。