jenkins搭建文档
简介
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成
一、安装运行环境
1、安装JDK环境
1)查询自带的JDK
shell
rpm -qa | grep jdk
2)卸载自带的JDK
shell
rpm -e --nodeps 要卸载的JDK
3)创建java文件夹并将jdk上传到该文件夹
shell
cd /usr/local
mkdir java
cd java
#上传jdk安装文件
没有jdk安装文件的可以在官网下载
4)解压
shell
tar -zxvf 所要解压的文件名
5)配置环境变量
shell
vim /etc/profile
把光标移到最后一行,键盘按 i,进入编辑模式,然后插入以下内容:(注意自己所建java的路径、jdk的名称)
shell
JAVA_HOME=/usr/local/java/jdk1.8.0_381
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
然后按ESC退出编辑模式,'shift + :',输入wq,回车,完成保存并退出
6)配置生效
shell
source /etc/profile
7)验证是否成功
shell
java -version
2、安装maven环境
1)下载maven
打开maven官网:Maven -- Download Apache Maven
我选择的是3.9.5
2)创建maven文件夹并将maven上传
shell
cd /usr/local
mkdir maven
cd maven
#上传maven安装文件
3)解压
shell
tar -zxvf 所要解压的文件名
4)创建maven仓库
shell
mkdir repository
5)替换settings.xml文件
shell
cd apache-maven-3.9.5/conf
6)把本地的配置文件替换上去
没有的可以用我的
settings.xml
7)修改仓库地址
shell
vi settings.xml
将localRepository修改为/usr/local/maven/repository
按Esc键退出编辑模式,输入:wq保存并退出vim编辑器
8)配置环境变量
shell
vim /etc/profile
把光标移到最后一行,键盘按 i,进入编辑模式,然后插入以下内容:(注意自己所建maven的路径)
shell
export MAVEN_HOME=/usr/local/maven/apache-maven-3.9.5
export PATH=$PATH:$MAVEN_HOME/bin
然后按ESC退出编辑模式,'shift + :',输入wq,回车,完成保存并退出
9)配置生效
shell
source /etc/profile
10)验证是否成功
shell
mvn -v
二、执行脚本
1、导入shell脚本文件
shell
#!/bin/bash
# 检查Docker是否已安装
if ! command -v docker &> /dev/null; then
echo "Docker未安装,开始安装Docker..."
#卸载残留docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
#安装工具包
sudo yum install -y yum-utils
#设置储存库
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 安装Docker
sudo yum install docker-ce docker-ce-cli containerd.io -y
# 启动Docker服务
sudo systemctl start docker
# 设置Docker开机自启动
sudo systemctl enable docker
#创建文件
mkdir -p /etc/docker
#配置docker镜像
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://w6rlizew.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
# 重启后台线程
sudo systemctl daemon-reload
# 重启docker
sudo systemctl restart docker
echo "Docker安装完成."
fi
# 下载Jenkins镜像
sudo docker pull jenkins/jenkins:2.415
# 创建Jenkins容器,将端口映射为8090
CONTAINER_ID=$(sudo docker run -d -u root -p 8090:8080 -p 50000:50000 -v /var/jenkins_home/workspace/:/var/jenkins_home/workspace/ -v /usr/local/maven/repository/:/usr/local/maven/repository/ -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /usr/local/java/jdk1.8.0_371:/usr/local/java -v /usr/local/maven/apache-maven-3.9.5:/usr/local/maven -e JAVA_OPTS="-Dorg.apache.commons.jelly.tags.fmt.timeZone='Asia/Shanghai" --name jenkins_container jenkins/jenkins:2.415)
# 检查Jenkins容器是否正在运行
sudo docker ps
chmod -R 777 /var/jenkins_home
#等待启动 睡眠5秒
sleep 5
#获取管理员密码
PASSWORD=$(sudo docker exec -it $CONTAINER_ID cat /var/jenkins_home/secrets/initialAdminPassword)
if [ -z "$PASSWORD" ]; then
echo "Jenkins启动超时,无法获取管理员密码。"
exit 1
fi
echo "Jenkins管理员密码: $PASSWORD"
ip_address=$(hostname -I | awk '{print $1}')
echo "请在浏览器中访问 http://${ip_address}:8090 进行配置和使用。"
:::info
解释
-d :后台运行
-p:8098:8080 镜像8080 :端口映射到宿主机 10240端口
-p:50000:50000 镜像50000 :端口映射到宿主机 10241端口
-v:/var/jenkins_home/workspace/:/var/jenkins_home/workspace/
/var/jenkins_home/workspace/ 宿主机的Jenkins目录挂载路径 jenkins
/var/jenkins_home/workspace/ 镜像服务器中jenkins的工作目录
-v /usr/bin/docker:/usr/bin/docker : 挂载docker
-v /usr/local/java/jdk1.8.0_371:/usr/local/java : 挂载映射宿主机jdk
-v /usr/local/maven/apache-maven-3.9.5:/usr/local/maven : 挂载映射宿主机maven
-e JAVA_OPTS="-Dorg.apache.commons.jelly.tags.fmt.timeZone='Asia/Shanghai" \ :同步时间
--name myjenkins(自定义容器名称) jenkins/jenkins(需要映射容器名称)
:::
2、赋予执行权限
shell
chmod 755 install_jenkins.sh
3、执行脚本
shell
sh install_jenkins.sh
4、等待执行完输出如下内容
shell
Jenkins管理员密码: 8bd1236206f64520b16f8d81b827f613
请在浏览器中访问 http://192.168.0.44:8090 进行配置和使用。
备注:Jenkins管理员密码后续会在网页中使用。
三、新手入门配置
1、打开上面提示的网址
打开http://192.168.0.44:8090会弹出如下页面
2、将Jenkins管理员密码粘贴到页面点击继续
备注:Jenkins管理员密码在第一步执行完脚本后会输出出来
3、自定义jenkins选择自定义安装推荐的插件
等待安装完成
4、创建用户并点击保存
5、请求url配置使用默认即可,点击保存并完成
6、开始使用jenkins
7、重启jenkins生效中文化界面
开始jenkins后进入到该页面,会发现部分中文化有问题,比如Manage Jenkins,需要对jenkins进行重启以解决该问题
shell
# 查询镜像id
docker ps -a
# 重启镜像
docker restart 镜像id
重启后需要重新登录
重启后中文化异常问题修复。没错 就是这么神奇!!!
至此新手入门配置全部完成
四、安装插件
部署需要用到很多的插件,比如java、git、maven、ssh等,这里对插件进行安装
点击系统管理-插件管理-Available plugins
1、安装maven
搜索maven,选择Maven IntegrationVersion3.23,点击安装
2、安装ssh
搜索ssh,选择Publish over SSH,点击安装
3、安装NodeJS
在插件安装页面搜索node,选择NodeJS,点击安装
4、重启生效
等待安装完成后重启jenkins。
shell
# 查询镜像id
docker ps -a
# 重启镜像
docker restart 镜像id
五、配置
1、JDK配置
在系统管理-全局工具配置页面下拉,找到JDK 安装,点击新增JDK
输入别名和JAVA_HOME
shell
/usr/local/java
2、maven配置
在系统管理-全局工具配置页面下拉,找到Maven 安装,点击新增Maven
输入别名和MAVEN_HOME
shell
/usr/local/maven
点击保存
3、上传无法下载的jar包到maven文件夹
在我们项目中有2个jar包下载通过阿里云下载不下来,分别是com.kingbase8和mobset.smsSDK,提前将这俩包上传到我们服务器的maven仓库/usr/local/maven/repository
3、ssh配置
在系统管理-系统配置页面中,拉到最下面找到Publish over SSH栏
依次输入密码、名称、地址、用户名,然后点击Test Configuration
显示Success表示配置成功
4、NodeJS配置
在系统管理-全局工具配置页面下拉,找到Maven 安装,点击新增Maven
点击安装NodeJS
按照如下配置自动安装
:::info
版本:14.9.0
Global npm packages to install:6.14.8
:::
六、后端项目构建
1、点击新建任务
输入项目名(自定义即可),选择构建一个maven项目
2、git配置
将我们dcim的git地址粘贴上来,注意得是http的,然后点击添加
在弹出页面输入我们的用户名和密码,点击添加
添加成功后在Credentials选择下拉,选中我们刚刚添加的账号
选择后报红的"无法连接仓库"相关提交将会小时
再修改分支
3、构建前配置
设置环境变量,将我们安装的java8作为默认的java环境。因为该jenkins镜像使用的是2.415版本,默认的java版本为11,但是我们的项目用的是java8,所以需要专门指定一下。
shell
#设置环境变量,将我们安装的java8作为默认的java环境。因为该jenkins镜像使用的是2.415版本,默认的java版本为11,但是我们的项目用的是java8,所以需要专门指定一下。
export JAVA_HOME=/usr/local/java
4、构建配置
在Build中添加Goals and options
shell
clean package -Dmaven.test.skip=true
如果想要构建单独的模块
5、构建后配置
这里选择Run only if build succeeds,然后添加执行shell
shell
# 创建jar包的保存文件夹
mkdir -p /root/jar
#将构建后的jar包保存到该文件夹下
find /var/jenkins_home/workspace/dcim/ -name '*.jar' -exec cp {} /root/jar \;
6、ssh上传到指定服务器
仍然在Post Steps点击添加,并选择 Send files or execute commands over SSH
按照如下进行配置
:::info
Transfer Set Source files:**/*.jar
Remote directory:jar/
:::
7、归档功能配置
归档功能能让我们在部署成功后直接在页面上下载jar包,非常的方便
在页面最下面找到构建后操作栏,点击增加构建后操作步骤选项
弹出选择框中选择归档成品选项
在用于存档的文件栏输入如下内容,并点击保存按钮。
shell
**/*.jar
至此配置全部完成。
8、构建操作
回到首页,对任务进行构建操作
9、查看日志
点进任务中,点击左侧的构建列表标号
点击控制台输出查看
10、页面下载
在首页打开dcim
在页面上点击对应的jar包可以进行下载
11、远程服务器下载
连接我们配置的远程服务器,比如我配置的192.168.0.41
打开配置的文件夹
在对应的模块里面就有各自的jar包
七、前端项目构建
1、新建任务
在首页点击新建任务
自定义一个任务名称,下面选择构建一个自由风格的软件项目
2、git配置
输入如下的前端构建地址,选择有权限的用户,这里举例比如前端分支默认是master
3、构建环境配置
在构建环境配置中选择Provide Node & npm bin/ folder to PATH,在弹出的下方选择我们自动安装的14.9.0版本
4、构建配置
在构建设置里面点击新增,选择执行shell,输入如下命令
shell
node -v
npm -v
npm install
NODE_OPTIONS=--max-old-space-size=4096 npm run build
点击执行即可完成
5、ssh上传到指定服务器
继续点击新增按钮,选择 Send files or execute commands over SSH
上传到指定路径
6、归档功能配置
在页面最下面找到构建后操作栏,点击增加构建后操作步骤选项
弹出选择框中选择归档成品选项
在用于存档的文件栏输入如下内容,并点击保存按钮。
7、构建操作
回到首页,对任务进行构建操作
8、查看日志
点进任务中,点击左侧的构建列表标号
9、页面下载
在首页打开dcim-front,点击工作空间
进入dist文件夹下,点击右下角的打包下载全部文件