官网:https://www.jenkins.io/
1 下载
环境准备:
版本支持查询:https://pkg.jenkins.io/redhat-stable/
安装JDK17:https://blog.csdn.net/qq_44870331/article/details/140784297
yum -y install epel-release wget upgrade
wget -O /etc/yum.repos.d/jenkins.repo \https://pkg.jenkins.io/redhat/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat/jenkins.io-2023.key
这个下载太慢了,还是下面收到下包安装好
yum -y install jenkins
从清华源下载:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.485-1.1.noarch.rpm --no-check-certificate
2 安装
rpm -ivh jenkins-2.485-1.1.noarch.rpm
3 查看安装的文件
rpm -ql jenkins
4 修改默认端口
vi /usr/lib/systemd/system/jenkins.service
4.1 改启动用户
4.2 改启动端口
JENKINS_PORT="16060"
4.3 修改JDK位置:
Environment="JAVA_HOME=/opt/coisini/jdk-17.0.12"
5 赋权
chown -R root:root /var/lib/jenkins
6 创建快链接:
ln -s /usr/lib/systemd/system/jenkins.service /etc/systemd/system/jenkins.service
chmod 754 /etc/systemd/system/jenkins.service
7 重新加载配置
systemctl daemon-reload
8 相关命令
设置开机自启:systemctl enable jenkins
启动:systemctl start jenkins
状态:systemctl status jenkins
9 开放端口:
firewall-cmd --zone=public --add-port=16060/tcp --permanent
firewall-cmd --reload
10 浏览器访问:
http://192.168..:16060/
11 需要输入管理密码, 在以下位置查看:
cat /var/lib/jenkins/secrets/initialAdminPassword
12 个性化安装
按默认设置,把建议的插件都安装上:
要等几分钟……有几个安装错误,后面点重试,就能装上了
13 Manage Jenkins安装插件
在实现持续集成之前, 需要确保以下插件安装成功。
-
Maven Integration
: Maven 集成管理插件。 -
Docker
: Docker集成插件。 -
GitLab
: GitLab集成插件。 -
Publish Over SSH
:远程文件发布插件。 -
SSH
: 远程脚本执行插件。 -
nodejs
安装maven、docker、Maven Integration、GitLab、Publish Over SSH、SSH、nodejs插件
方便后面配置本机软件位置
14 安装插件:
14.1 Git安装配置
- yum 安装方式
yum -y install git
- 检查git版本
git version
14.2 Maven安装配置
- 下载安装包
下载地址: https://maven.apache.org/download.cgi
解压安装包
cd /opt/coisini/
mkdir maven
cd maven
wget https://dlcdn.apache.org/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.zip --no-check-certificate
yum -y install unzip
unzip -o apache-maven-3.9.9-bin.zip
- 配置
环境变量配置
vi ~/.bash_profile
新增:
#maven
export MAVEN_HOME=/opt/coisini/maven/apache-maven-3.9.9
export PATH=$PATH:$MAVEN_HOME/bin
配置文件生效:
source ~/.bash_profile
修改镜像仓库配置:
vi /opt/coisini/maven/apache-maven-3.9.9/conf/settings.xml
需要把本机的仓库打包上传到服务器上(不上传会自动下载)
然后指定上传后的仓库配置
<localRepository>/opt/coisini/maven/apache-maven-3.9.9/repository</localRepository>
添加镜像地址:
<!--更换私服,https://developer.aliyun.com/mvn/guide--><mirror><!--镜像的唯一标识符,区分不同mirror元素--><id>aliyun-public</id><!--对哪种仓库进行镜像,就是替代哪个仓库--><mirrorOf>public</mirrorOf><!--镜像名称--><name>public</name><!--镜像URL--><url>https://maven.aliyun.com/repository/public</url></mirror><mirror><!--镜像的唯一标识符,区分不同mirror元素--><id>aliyun-central</id><!--对哪种仓库进行镜像,就是替代哪个仓库--><mirrorOf>central</mirrorOf><!--镜像名称--><name>central</name><!--镜像URL--><url>https://maven.aliyun.com/repository/central</url></mirror><mirror><!--镜像的唯一标识符,区分不同mirror元素--><id>aliyun-jcenter</id><!--对哪种仓库进行镜像,就是替代哪个仓库--><mirrorOf>jcenter</mirrorOf><!--镜像名称--><name>jcenter</name><!--镜像URL--><url>https://maven.aliyun.com/repository/public</url></mirror>
ESC + :wq 保存退出
14.3 安装docker
docker安装:https://blog.csdn.net/qq_44870331/article/details/129735250
Docker Registry私有仓库安装配置
对于持续集成环境的配置,Jenkins会发布大量的微服务, 要与多台机器进行交互, 可以采用docker镜像的保存与导出功能结合SSH实现, 但这样交互繁琐,稳定性差, 而且不便管理, 这里我们通过搭建Docker的私有仓库来实现, 这个有点类似GIT仓库, 集中统一管理资源, 由客户端拉取或更新。
- 下载最新Registry镜像
docker pull registry:latest
- 启动Registry镜像服务
docker run -d -p 5000:5000 --name registry -v /usr/local/docker/registry:/var/lib/registry registry:latest
映射5000端口; -v是将Registry内的镜像数据卷与本地文件关联, 便于管理和维护Registry内的数据。
docker update registry --restart=always
- 查看仓库资源
访问地址:http://192.168.31.16:5000/v2/_catalog
启动正常, 可以看到返回:
{
"repositories": []
}
目前并没有上传镜像, 显示空数据。
如果上传成功, 可以看到数据:
- 配置Docker客户端
正常生产环境中使用, 要配置HTTPS服务, 确保安全,内部开发或测试集成的局域网环境,可以采用简便的方式, 不做安全控制。
先确保持续集成环境的机器已安装好Docker客户端, 然后做以下修改:
vi /lib/systemd/system/docker.service
修改内容:
ExecStart=/usr/bin/dockerd --insecure-registry 192.168.31.16:5000
指向安装Registry的服务IP与端口。
重启生效:
systemctl daemon-reload
systemctl restart docker.service
15 持续集成生产实践配置
15.1 Jenkins工具配置
- 进入【系统管理】–> 【全局工具配置】
15.2 maven
配置本机maven配置文件
注意配置文件要精确到 .xml文件
15.3 配置JDK
填写本机JDK位置
15.4 配置Git
15.5 配置 maven 存在的目录
15.6 docker 配置
如果没有docker 去插件那里下载,然后等待下载完
15.7 保存
16 设置远程应用服务主机
也可以这么点
添加ssh配置
SSH配置:
测试连接
保存
17 环境准备
17.1 mysql部署
- 基于CentOS Stream 9平台安装MySQL8.4.0 LTS
- 或者docker部署(虽然不推荐)
docker search mysqldocker pull mysql:8.0.39mkdir /opt/coisini/mysql8
mkdir /opt/coisini/mysql8/logs
mkdir /opt/coisini/mysql8/mysql
mkdir /etc/mysql
touch /etc/mysql/conf.ddocker run -id \
-p 3307:3306 \
--name=mysql8 \
-v /opt/coisini/mysql8/conf:/etc/mysql/conf.d \
-v /opt/coisini/mysql8/logs:/var/log/mysql \
-v /opt/coisini/mysql8/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:8.0.39docker exec -it mysql8 /bin/bashfirewall-cmd --zone=public --add-port=3307/tcp --permanent
firewall-cmd --reloaddocker update mysql8 --restart=always
17.2 xxl-job-admin部署
使用xxl-job-admin2.4.2版本,主版本2.5.0还在开发,并不完整
下载xxl-job-admin:https://github.com/xuxueli/xxl-job/releases/tag/2.4.2
下载压缩包再解压打开
一般导入新项目,会使用默认的maven下载依赖很慢,直接去设置里面改为自己本机的maven,配置了国内镜像,加载速度会很快
MySQL导入初始数据:
初始化“调度数据库位置”: /xxl-job/doc/db/tables_xxl_job.sql
(1)修改xxl-job-admin中的application.properties文件,修改端口号为8888,数据库连接指向192.168.31.16这台服务器
(2)执行打包命令cmd 中 admin目录下:mvn package
把生成的jar文件上传到服务器上
cd /opt/coisinimkdir xxl-jobcd xxl-job/
17.3 创建镜像文件:
vi Dockerfile
在xxl-job目录下创建Dockerfile文件,内容如下
FROM openjdk:8
COPY xxl-job-admin-2.4.2.jar /app.jar
CMD java -jar /app.jar
EXPOSE 8888
执行构建镜像命令:
docker build -t xxl-job-admin:2.4.2 .
创建容器
docker run -di --name=xxl-job-admin -p 8888:8888 xxl-job-admin:2.4.2
设置自启:
docker update xxl-job-admin --restart=always
访问
http://192.168.31.16:8888/xxl-job-admin/
默认登录账号密码 admin 123456
18 添加gitee账号密码 凭证
19 添加Gitee账号密码
20 新建自动化项目
自由风格
添加描述;
源码管理
指定拉取分支,默认master
添加构建步骤
maven版本:就是之前在jenkins中配置的maven
目标:输入maven的命令 clean install -Dmaven.test.skip=true
跳过测试安装
构建计划;
或者在首页的时候,点这里;
构建中出现错误,根据相关错误去处理:
例如:maven目录错误
之前maven的配置文件只写了:/opt/coisini/maven/apache-maven-3.9.9/conf
这需要指定到具体settings.xml文件。。
也去项目的该机选项
也有xml配置文件配置,路径要确认好
改好之后重新构建一下就可以了
END 感谢阅览~