docker部署Jenkins(详细操作)

297 阅读4分钟
  1. 创建Jenkins容器

  1. 首先进行安装前准备,jdk1.8、maven的安装

jdk的安装

官网下载地址:www.oracle.com/cn/java/tec…

mkdir  java
# 上传安装包
解压包
tar -xvf jdk-8u421-linux-x64.tar.gz 
改名
mv jdk1.8.0_421 jdk1.8

[root@localhost /home/java] # ls
jdk1.8  jdk-8u421-linux-x64.tar.gz
Maven的安装

官网下载地址:dlcdn.apache.org/maven/maven…

# 解压包
[root@localhost /home/java] # ls
apache-maven-3.9.5-bin.tar.gz  jdk1.8  jdk-8u421-linux-x64.tar.gz
[root@localhost /home/java] # tar -zxvf apache-maven-3.9.5-bin.tar.gz 
[root@localhost /home/java] # ls
apache-maven-3.9.5  apache-maven-3.9.5-bin.tar.gz  jdk1.8  jdk-8u421-linux-x64.tar.gz
# 改名字
[root@localhost /home/java] # mv apache-maven-3.9.5 maven-3.9.5
[root@localhost /home/java] # ls
apache-maven-3.9.5-bin.tar.gz  jdk1.8  jdk-8u421-linux-x64.tar.gz  maven-3.9.5
# 新建一个repository仓库,用于存放Maven下载下来的jar包
[root@localhost /home/java] # mkdir repository

[root@localhost /home/java] # cd / home / java / maven -3.9.5 / conf
[root@localhost /home/java] # sudo vim settings.xml
设置Maven仓库,就是刚才新建的文件夹 < localRepository >/ home / java / repository </ localRepository >

配置为阿里云镜像地址

<mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>central</mirrorOf>
    <name>Nexus aliyun</name>
    <url>https://maven.aliyun.com/repository/public</url>
</mirror>

9.1.3 配置环境变量
[root@jenkins local]# vim /etc/profile
 
 
### 到最后一行添加以下内容  ####
JAVA_HOME=/home/java/jdk1.8
MAVEN_HOME=/home/java/maven-3.9.5
PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL JAVA_HOME MAVEN_HOME

刷新配置文件
source /etc/profile

# 校验是否安装成功:
[root@localhost /home/java/maven-3.9.5/conf] # java -version
java version "1.8.0_421"
Java(TM) SE Runtime Environment (build 1.8.0_421-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.421-b09, mixed mode)

[root@localhost /home/java/maven-3.9.5/conf] # mvn -v
Apache Maven 3.9.5 (57804ffe001d7215b5e7bcb531cf83df38f93546)
Maven home: /home/java/maven-3.9.5
Java version: 1.8.0_421, vendor: Oracle Corporation, runtime: /home/java/jdk1.8/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"
  1. 拉取 Jenkins 镜像

从 Docker Hub 拉取最新的 Jenkins 镜像。

docker pull jenkins/jenkins:2.469
  1. 在宿主机创建挂载目录

# 在宿主机创建挂载目录 
sudo mkdir -p /home/jenkins_mount 
  1. 文件夹授权

# 该文件夹授权 
sudo chmod 777 /home/jenkins_mount 
  1. 创建并启动Jenkins容器

# 创建容器
docker run -d -p 9200:8080 -p 50000:50000 --name jenkins \
-v /home/jenkins_mount:/var/jenkins_home  \
-v /home/java/jdk1.8:/usr/local/src/jdk/jdk1.8 \
-v /home/java/maven-3.9.5:/opt/apache-maven-3.9.5 \
-v /var/run/docker.sock:/var/run/docker.sock \
-e TZ='Asia/Shanghai' \
--restart=always jenkins/jenkins:2.469

参数说明:

-d     后台运行镜像
-p 9200:8080     将镜像的8080端口映射到宿主机的9200端口
-p 50000:50000     将镜像的50000端口映射到服务器的9201端口
-v /home/jenkins_mount:/var/jenkins_mount     其中/var/jenkins_home 目录为jenkins容器工作目录,我们将这个目录挂载到宿主机硬盘上的一个目录位置,方便后续更新镜像后继续使用原来的工作目录。这里我们设置的就是上面我们创建的 /home/jenkins_mount目录
-v /home/java/jdk1.8:/usr/local/src/jdk/jdk1.8    在jenkins使用构建命令重启jar包需要使用到JDK,需要挂载到服务器上真实的JDK目录。
-v /home/java/maven-3.9.5:/opt/apache-maven-3.9.5     挂载服务器上Maven目录
-name jenkins     给容器起一个别名
jenkins/jenkins:2.427      镜像名称:版本号
  1. 查看容器运行情况

  1. Jenkins网站访问及配置

通过上面的方式我们已经安装好了Jenkins,那么接下来我们就需要访问该Jenkins并对其做相关的配置了。

只需要192.168.18.211:9200即可访问。

  1. 解锁jekins

  1. 通过下面的截图,我们看到了Jenkins提示我们需要在红色标记的地方获取解锁密码,并将解锁密码输入到文本框中。

说明:由于我们将jenkins进行挂载到了宿主机的 /home/jenkins_mount 目录下,所以要将上面的地址进行替换。这样才能找到密码。

[root@localhost /home/java] # cat /home/jenkins_mount/secrets/initialAdminPassword 
abd43caa2aac48acb3e3204dd10c97eb

  1. 安装插件

先按照建议来进行插件的安装吧

  1. 查看Jenkins的中文插件是否已安装

  1. jenkins插件安装

先进行推荐安装、后进行可选性插件的安装

  • git plugin
  • GitLab Plugin
  • publish over ssh
  • Gitlab Authentication
  • GitLab
  • Gitlab Hook plugin(这个可以根据自己需求,可以不用安装)
  • Git Parameter
  • Maven Integration
  • Docker
  • docker-built-step
  • SSH Agent
  • Pipeline Maven Integration
  • Role-based Authorization Strategy

  1. 安装完成后和重启Jenkins服务

必要时可以重启docker内的Jenkins容器

docker restart jenkins

  1. Jenkins配置用户设置

上述插件安装已经勾选Role-based Authorization Strategy,所以我们设置并直接创建对应的分组

然后就可以在下面的配置用户或组了

  1. jenkins配置

安装好上一步中的几个插件之后,接下来需要在jenkins中配置一下Git和 SSH : 点击:系统管理 -> 系统配置 -> 找到Git和SSH