jenkins搭建文档

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脚本文件

install_jenkins.sh

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文件夹下,点击右下角的打包下载全部文件

相关推荐
java小吕布15 分钟前
Java Lambda表达式详解:函数式编程的简洁之道
java·开发语言
程序员劝退师_22 分钟前
优惠券秒杀的背后原理
java·数据库
java小吕布37 分钟前
Java集合框架之Collection集合遍历
java
一二小选手39 分钟前
【Java Web】分页查询
java·开发语言
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ1 小时前
idea 弹窗 delete remote branch origin/develop-deploy
java·elasticsearch·intellij-idea
Code成立1 小时前
《Java核心技术 卷I》用户图形界面鼠标事件
java·开发语言·计算机外设
BillKu1 小时前
Linux设置Nginx开机启动
linux·运维·nginx
东方佑1 小时前
FastHTML快速入门:服务器渲染超媒体应用的利器
运维·服务器
鸽鸽程序猿1 小时前
【算法】【优选算法】二分查找算法(下)
java·算法·二分查找算法
baidu_375528811 小时前
光感传感器 芯片stk3171 linux驱动程序
linux·运维·服务器