前两天使用Python写了一套ui自动化框架,填充完业务后,想变得高大上些,于是使用了部署了Jenkins并与gitlab连接进行自动化部署
一、前提条件
Jenkins是一个基于Java开发的应用程序,它需要JDK才能运行,所以安装Jenkins之前必须要安装JDK。
安装Jenkins前,需要查看Jenkins版本,最新版本的Jenkins需要用到jdk11以上。本次教程使用的是jenkins-2.346版本,jdk1.8
若使用gitlab也要在相应服务器上安装gitlab与git
二、jdk安装
还没写,先留个空,哈哈哈
三、gitlab安装
还没写,先留个空,哈哈哈+1
四、git安装
1、安装git
yum -y install git
2.查看版本
git --version
五、jenkins安装
1、新建/usr/local/jenkis目录,下载jenkins-rpm包
wget https://repo.huaweicloud.com/jenkins/redhat-stable/jenkins-2.346.3-1.1.noarch.rpm
2、安装
rpm -ivh jenkins-2.346.3-1.1.noarch.rpm
3、修改jenkins配置-添加自己的jdk路径 - - 不修改java路径会启动失败
vim /etc/init.d/jenkins
4、修改jenkins配置,添加自己的jdk路径(不修改java路径会启动失败)
vim /etc/init.d/jenkins
5、修改jenkins用户权限为root
重点来啦,这里有个大坑点!!!
首先我们进入如下路径,进行修改
vim /etc/sysconfig/jenkins
之后去启动Jenkins服务,此时也许你会发现服务并没有启动,经过我多方研究,发现这个配置文件没有被读取,具体原因还不太清楚,欢迎大佬指点
此时我们需要如下更改
vi /usr/lib/systemd/system/jenkins.service
28 TimeoutStartSec=300s
34 User=root
35 Group=root
38 Environment="JENKINS_HOME=/home/jenkins"
39 WorkingDirectory=/home/jenkins
67 Environment="JENKINS_PORT=8070"
systemctl daemon-reload
systemctl restart jenkins
TimeoutStartSec是超时时间,默认是90s,这里主要是在我的机器上有时启动需要4分多钟,然后启动了也超时了对systemd很不友好,所以改了300s
JENKINS_HOME–jenkins的工作目录环境变量
WorkingDirectory–jenkins的工作目录
JENKINS_PORT–jenkins的端口
jenknins会自动生成/home/jenkins目录,无需担心(如果是迁移的话,应该是配置改完之后迁移目录
# systemctl status jenkins.service
● jenkins.service - Jenkins Continuous Integration Server
Loaded: loaded (/usr/lib/systemd/system/jenkins.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2022-09-23 10:08:47 CST; 1min 9s ago
Main PID: 25383 (java)
Tasks: 40
Memory: 807.8M
CGroup: /system.slice/jenkins.service
└─25383 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=%C...
Sep 23 10:08:46 zzx.cool jenkins[25383]: 2022-09-23 02:08:46.509+0000 [id=27] INFO je...ions
Sep 23 10:08:47 zzx.cool jenkins[25383]: 2022-09-23 02:08:47.476+0000 [id=27] INFO je...aded
Sep 23 10:08:47 zzx.cool jenkins[25383]: 2022-09-23 02:08:47.477+0000 [id=27] INFO je...pted
Sep 23 10:08:47 zzx.cool jenkins[25383]: 2022-09-23 02:08:47.478+0000 [id=27] INFO je...jobs
Sep 23 10:08:47 zzx.cool jenkins[25383]: 2022-09-23 02:08:47.483+0000 [id=26] INFO je...ated
Sep 23 10:08:47 zzx.cool jenkins[25383]: 2022-09-23 02:08:47.623+0000 [id=44] INFO hu...data
Sep 23 10:08:47 zzx.cool jenkins[25383]: 2022-09-23 02:08:47.630+0000 [id=44] INFO hu...3 ms
Sep 23 10:08:47 zzx.cool jenkins[25383]: 2022-09-23 02:08:47.741+0000 [id=29] INFO je...tion
Sep 23 10:08:47 zzx.cool jenkins[25383]: 2022-09-23 02:08:47.795+0000 [id=20] INFO hu...ning
Sep 23 10:08:47 zzx.cool systemd[1]: Started Jenkins Continuous Integration Server.
Hint: Some lines were ellipsized, use -l to show in full.
6、给默认生成的Jenkins的配置文件赋予读写权限
chmod -R 777 /var/lib/jenkins
chmod -R 777 /var/cache/jenkins
chmod -R 777 /var/log/jenkins
7、修改启动文件
vi /usr/lib/systemd/system/jenkins.service
8、安装完成后启动
一般的,安装完成之后,Jenkins会自动启动运行,但是我们最好还是检查一遍
# 查看服务状态
systemctl status jenkins.service
# 启动服务
systemctl start jenkins.service
# 停止服务
systemctl stop jenkins.service
9、浏览器访问登录- - -(http://IP:8080/),这个端口结合自己服务器情况可以进行修改成自己空闲的端口,默认是8080端口
vi /usr/lib/systemd/system/jenkins.service
查看默认登录密码,解锁激活系统
cat /var/lib/jenkins/secrets/initialAdminPassword
这里建议选择,推荐安装的插件,保证基本常用的功能可以使用
10、设置初始用户和密码
11、进入系统,安装完成
如果汉化不完全,一半中文一半英文,重启Jenkins就好了,最后服务端重启
六、Jenkins配置
1、插件下载
直接搜索需要下载的插件即可
2、git、gitlab插件下载
需要用到的git、gitlab我已经下载好了
七、Jenkins部署项目
1、首先要创建一个工作项目,类型选第一个Freestyle project就行。
2.配置gitlab仓库
最终结果成功
有看大佬看到有问题,欢迎讨论哈