黑白客 发表于 2023-2-24 09:58

linux服务器上Docker中安装jenkins

# 前言
Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。
**本文主要提供通过docker安装jenkins镜像,并配置nginx反向代{过}{滤}理页面配置和使用。通过jenkins完成项目的自动部署。**

`我在安装之前看了很多文章又说需要什么jdk环境 maven环境的等等,后来发现没有那么复杂`


![在这里插入图片描述](https://img-blog.csdnimg.cn/1c8ab401210d4e2989e516c170efb3ba.webp#pic_center)



---




# 1 环境配置

> 操作系统版本:Linux version 5.10.60-9.al8.x86_6 或 Linux version 5.4.0-110-generic (buildd@ubuntu)
Docker 版本:23.0.1 或 20.10.12
Jenkins 版本:2.375.3

`演示是上面版本,其它版本可能也同样适用,或者微调`

## 操作系统版本:
>cat /proc/version

![在这里插入图片描述](https://img-blog.csdnimg.cn/aabe9d5b6f4140f8b5b1c8d5fa1ed88d.jpeg)
## Docker 版本:

> docker -v


![在这里插入图片描述](https://img-blog.csdnimg.cn/844e0fb4758542ec9ae84f1f46e2aa51.png)

## Jenkins 版本:
>docker images
>docker inspect jenkins的容器ID

![在这里插入图片描述](https://img-blog.csdnimg.cn/8a2c26b147bf42f1bcd353ae00009a15.png)


# 2 Docker安装Jenkins
## 删除旧版本
>docker ps -a
>docker rm -f 容器id

![在这里插入图片描述](https://img-blog.csdnimg.cn/2bcf25c3268a40b981731b78db27d03b.png)
## 删除镜像:
>docker images
>docker rmi 2cb4cce6db0a

![在这里插入图片描述](https://img-blog.csdnimg.cn/fa6f240079ec4fe3be2be9456d99b468.png)


## Docker下载Jenkins
> docker pull jenkins/jenkins:lts //最新版

![在这里插入图片描述](https://img-blog.csdnimg.cn/0f8d0f58d0e9484db204f1a8ba924dcf.png)




## 查看Jenkins镜像

>docker images
docker inspect jenkins镜像ID


![在这里插入图片描述](https://img-blog.csdnimg.cn/c5e13dbe114b42c8a3e2d3aea6ac9c5e.png)


## 创建一个jenkins目录
> mkdir /data/jenkins_home;

![在这里插入图片描述](https://img-blog.csdnimg.cn/5c406b4f494843d181fdb3d1058b2201.png)


## 安装启动Jenkins容器

>docker run -d --name jenkins -p 8081:8080 -v /data/jenkins_home:/var/jenkins_home jenkins/jenkins:lts;

>备注:
-d //启动在后台
--name //容器名字
-p //端口映射(8081:宿主主机端口,8080:容器内部端口)
-v //数据卷挂载映射(/data/jenkins_home:宿主主机目录,另外一个即是容器目录)
enkins/jenkins:lts //Jenkins镜像(最新版)

![在这里插入图片描述](https://img-blog.csdnimg.cn/f69192d5d60e435cbf992eb4c5aeca83.png)


## 查看Jenkins启动情况

> docker ps | grep jenkins;

`我这里没有启动成功,看下面截图,如果你和我一样,请看下面的解决办法`
![在这里插入图片描述](https://img-blog.csdnimg.cn/573fad0841824781ab90ee940a877cb6.png)

# 安装过程遇到的小问题

## Jenkins容器docker run之后状态总是Exited
>docker ps -a

![在这里插入图片描述](https://img-blog.csdnimg.cn/73d0c1c9cbbe4c249fb8880af52c196e.png)

查看docker日志 :

>docker logs jenkins

发现是目前权限问题
因为/data/jenkins_home 目录是root权限

解决:
> chown -R 1000:1000 /data/jenkins_home //用户组改变

![在这里插入图片描述](https://img-blog.csdnimg.cn/de2b3c2a5a6c4fb4a7c6ae6ddc60ac21.png)

![在这里插入图片描述](https://img-blog.csdnimg.cn/825d07f83ae243c5b09b258f52fee7ca.png)

## 宿主主机端口要开启
因为本操作是在阿里云ECS上进行安装的,需要在安全组里开放8081此端口。
![在这里插入图片描述](https://img-blog.csdnimg.cn/1e516e7ce2fc4e6fa36558ac7038cda7.png)


# 访问Jenkins
>http://120.16.50.165:8081 //ip:端口号

![在这里插入图片描述](https://img-blog.csdnimg.cn/2cfc36e3b66044fb86a5c98f3d3e319a.png)

# 管理配置Jenkins
## 解锁

>在安装完成后,默认生成了一个登录密码,首次登录需要这个密码。
密码路径:var/jenkins_home/secrets/initialAdminPassword //容器内部
查找密码:
docker exec -it jenkins_01 bash //进入jenkins容器
cat /var/jenkins_home/secrets/initialAdminPassword //查看密码


## 安装插件

> 新手安装建议选择:Install suggested plugins,安装过程大概半个多小时。

![在这里插入图片描述](https://img-blog.csdnimg.cn/309ddb4dce4a4deea68b54f13b443a13.png)


## 管理用户创建

>这个用户就是最大管理者权限,相当于admin


## Jenkins配置完成
到此步,安装就大功告成!

> http://120.20.50.165:8081 //ip:端口号


![在这里插入图片描述](https://img-blog.csdnimg.cn/9905d91ce03848979602e3d8d885f8cd.png#pic_center)

笨蛋先森 发表于 2023-2-24 10:12

有ci/cd的流程吗

黑白客 发表于 2023-2-27 09:47

笨蛋先森 发表于 2023-2-24 10:12
有ci/cd的流程吗

目前还没写出来,后面我会写
页: [1]
查看完整版本: linux服务器上Docker中安装jenkins