通过本文,大家将学到以下知识点:
1、学习Jenkins相关知识
2、JDK安装部署
3、tomcat安装部署
4、Jenkins安装部署
5、Jenkins相关概念及使用
6、IDEA下创建WEB项目演示
7、Gitlab安装部署
8、Git客户端安装部署
9、Maven安装与配置
10、Jenkins构建各类项目及构建技巧
一、Jenkins介绍
Jenkins是一个独立开源的持续集成和持续交付工具,用于自动化构建、测试和部署软件项目。它提供了一个易于使用的Web界面,可以帮助开发团队快速构建、测试和部署他们的代码。
Jenkins 可以通过本机系统包、Docker 安装,甚至可以由任何安装了 Java 运行时环境 (JRE) 的机器独立运行。
(一)Jenkins功能
Jenkins是一个开源的持续集成工具,它可以在自动化构建,测试和部署软件的过程中发挥重要的作用。Jenkins允许软件开发人员自动构建,测试和发布他们的代码,而无需进行手动的操作。主要功能包括:
1、持续集成:可以在代码修改后自动进行构建、测试和部署。
2、自动化部署:可以将软件部署到指定的服务器上。
3、测试报告:可以生成测试报告,并将测试结果自动反馈给相关开发人员。
4、软件包管理:可以管理版本控制系统和软件包依赖性。
5、插件支持:可以通过插件扩展Jenkins的功能。
(二)Jenkins官网地址
Jenkins官网地址如下:
https://www.jenkins.io/
进入官网后,可以点击https://www.jenkins.io/zh/doc/book/进入中文用户文档页面查看相关帮助信息。
(三)Jenkins安装条件
Jenkins可以运行在各种不同的操作系统上,包括Windows、Linux、MacOS等。只要环境配置正确,Jenkins就可以在各种操作系统上运行。系统对软件和硬件的要求并不高,具体要求如下:
系统要求(最低推荐配置):
256MB可用内存/1GB可用磁盘空间(作为一个Docker容器运行jenkins的话推荐10GB)
如果是小团队使用,则推荐的硬件配置:1GB+可用内存/50GB+ 可用磁盘空间
软件配置:
软件方面需要Java运行环境支持,Java运行时环境(JRE)或Java开发工具包(JDK)都可以。
(四)Jenkins的发行版本
Jenkins项目产生两个发行线, 长期支持版本 (LTS) 和每周更新版本。
稳定版 (LTS)
LTS (长期支持) 版本每12周从常规版本流中选择,作为该时间段的稳定版本。每隔 4 周,我们会发布稳定版本,其中包括错误和安全修复反向移植。
定期发布 (每周)
每周都会发布一个新版本,为用户和插件开发人员提供错误修复和功能。
(五)Jenkins演示项目部署环境拓扑
本文所有演示环境基于Centos7.6系统部署,以下为拓扑结构:
本实验将针对如上拓扑,进行如下实验,跑通Jenkins整个持续集成项目。
大概有如下步骤:
1、首先,开发人员角色进行代码提交,提交到Git远程仓库。
2、然后,Jenkins作为持续集成工具,使用Git工具到Git仓库拉取代码到集成服务器,再配合JDK,Maven等软件完成代码编译,打包等工作,在这个过程中每一步出错,都重新再执行一次整个流程。
3、最后,Jenkins把生成的jar或war包分发到测试服务器或者生产服务器,测试人员或用户就可以访问应用。
二、GitLab安装部署
以下操作在192.168.20.231服务器上完成。
(一)GitLab介绍
GitLab是一个开源的git仓库管理软件,并提供web界面,方便管理git仓库。和github很相似,不过github暂时没有开源版本,项目必须托管到github官方网站,不能本地部署。很多公司考虑到安全费用等因素,搭建自己的gitlab服务器。
1、GitLab官方地址为
https://about.gitlab.com/
(二)GitLab安装
1、安装相关依赖软件
yum install -y openssh-server openssh-clients postfix cronie policycoreutils-python
2、启动sshd服务并且设置为开机自启动
systemctl enable sshd && sudo systemctl start sshd
3、启动邮件服务并且设置为开机自启动
systemctl enable postfix && systemctl start postfix
4、做好相关服务的防火墙策略,我这里直接将防火墙关闭
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
5、下载gitlab的rpm包
1)可以从gtilab官方网站下载相应gitlab版本的rpm包,地址如下
https://packages.gitlab.com/gitlab/gitlab-ce
2)也可以从国内镜像站下载相应gitlab版本的rpm包,地址如下
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/
选择对应版本,复制下载链接即可
复制15.11.13版本下载链接如下:
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.11.13-ce.0.el7.x86_64.rpm
通过wget命令进行下载
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.11.13-ce.0.el7.x86_64.rpm --no-check-certificate
6、通过rpm命令进行安装即可
rpm -ivh gitlab-ce-15.11.13-ce.0.el7.x86_64.rpm
7、修改配置文件/etc/gitlab/gitlab.rb访问地址及访问端口,这里我改为85端口
external_url 'http://192.168.20.231:85'
nginx['listen_port'] = 85
8、重新加载配置文件
gitlab-ctl reconfigure
9、重启GitLab服务
gitlab-ctl restart
10、登录GitLab
通过浏览器访问http://192.168.20.231:85
这里管理员用户默认为root,密码可以在文件/etc/gitlab/initial_root_password中查看,如下:
[root@master ruanjianfile]# cat /etc/gitlab/initial_root_password
# WARNING: This value is valid only in the following conditions
# 1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
# 2. Password hasn't been changed manually, either via UI or via command line.
#
# If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.
Password: vlrcciD02sCJheisy8cEZvoZ7CaehHIEfdUxzDEQRCM=
# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.
11、在管理页面修改默认语言为简体中文。
12、在管理页面--用户菜单,修改管理员root的密码,我这里设置为haodao123
(三)GitLab添加组
使用管理员账号root创建组,一个组里面可以有多个项目分支,可以将开发添加到组里面进行权限设置,不同的组就是公司不同的开发项目或者服务模块,不同的组添加不同的开发即可实现对开发权限的管理。
1、root账号登录进入后台
2、编写组相关信息创建即可
3、选择对应组,创建项目,如下:
(四)新建用户
1、切换到管理菜单,选择用户选项;
2、填写用户相关信息,创建即可。
3、在新增用户界面,选择编辑,为新创建用户添加密码;
我这里密码是hh123456
(五)将新建用户添加到组里
1、找到对应组,成员信息
2、添加成员到组里
3、切换到huanghao账号登录,已经可以看到huanghao这个账号在组里面了
(六)将源码上传到GitLab仓库
IDEA中创建项目,大家可以先看后面章节再回过来操作。
1、IDEA编辑器中创建了一个简单web项目
2、IDEA编辑器中找到VCS菜单,选择如下子菜单
3、选择Git类型
前提是本地安装好Git环境
4、在对应项目中右键,找到Git,点击Add将代码放到缓存中去
5、同上一步,在对应项目中右键,找到Git,点击Commit Directory将代码提交本地仓库;
6、同上一步,在对应项目中右键,找到Git,点击Manage Remotes管理添加远程仓库;
从gitlab组中对应项目找到HTTP对应地址,编辑添加如下所示:
7、同上一步,在对应项目中右键,找到Git,点击Push
8、此时push成功,gitlab项目中可以看到如下信息
四、Git客户端安装
以下操作在192.168.20.232服务器上完成。
以下通过源码方式进行安装,注意通过yum方式安装默认安装的是低版本!
(一)卸载yum安装的低版本git
1、查看git版本
git --version
2、卸载git
yum remove -y git
(二)源码安装git
1、安装相关依赖软件
yum -y install libcurl-devel expat-devel curl-devel gettext-devel openssl-devel zlib-devel
2、安装编译工
yum -y install gcc perl-ExtUtils-MakeMaker
3、下载Git对应版本源码,网址如下:
https://mirrors.edge.kernel.org/pub/software/scm/git/
4、找到对应版本下载链接,通过wget工具下载
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.39.3.tar.gz --no-check-certificate
5、对应目录下,解压源码包
tar -xzf git-2.39.3.tar.gz
6、准备编译安装
cd git-2.39.3
make prefix=/usr/local/git all
make prefix=/usr/local/git install
7、添加git到环境变量,编辑/etc/profile文件,最后加入如下内容;
export PATH=/usr/local/git/bin:$PATH
如下图所示:
8、使环境变量生效
source /etc/profile
9、验证git安装是否成功
[root@node1 ~]# git --version
git version 2.39.3
[root@node1 ~]# whereis git
git: /usr/bin/git /usr/local/git /usr/local/git/bin/git /usr/share/man/man1/git.1.gz
五、JDK安装部署
本套实验中,总共有两台服务器需要安装部署JDK环境,为了让大家更好学习Linux环境下软件安装部署,我这里将给大家分别展示通过yum方式及官网下载二进制包安装的方式。其中跑Jenkins服务的那一台服务器将通过yum方式安装JDK11版本,跑tomcat的那一台服务器将手动安装JDK8版本。
(一)yum方式安装部署JDK11
以下操作在192.168.20.232服务器上执行安装部署命令。前提是大家配置好yum环境。
yum -y install java-11-openjdk*
安装完毕执行如下命令验证是否成功安装配置好环境变量。
java -version
执行上面命令后,看到如下信息,说明安装JDK成功了。
通过yum方式安装好JDK11后默认安装目录如下
/usr/lib/jvm
(二)JDK8安装部署
当然,大家如果嫌弃下载麻烦,也可以通过yum方式安装即可,以下演示只是为让大家掌握另外一种安装方法。
以下操作在192.168.20.233服务器上进行。
1、JDK安装包获取
(1)进入甲骨文官网下载。
https://www.oracle.com/
(2)下载自己需要安装的JDK版本,如下图所示:
(3)找到JAVA 8对应的Linux版本下载即可,如下图所示:
(4)点击进行下载,需要登录甲骨文账号下载,自己注册一个登录
2、下载好JDK安装包后,上传安装服务器
我这里如下所示:
3、我这里打算将JDK安装在/usr/local目录下,将JDK安装包解压缩到安装目录下即可,大家根据自己实际环境执行解压命令。
tar -xzvf /ruanjianfile/jdk-8u381-linux-x64.tar.gz -C /usr/local/
4、设置环境变量,通过修改/etc/profile文件进行设置。
vi /etc/profile
通过编辑器打开编辑,文件最后加上如下内容保存。
export JAVA_HOME=/usr/local/jdk1.8.0_381
export PATH=$PATH:$JAVA_HOME/bin
5、使环境变量生效,执行以下命令:
source /etc/profile
6、验证JDK是否安装成功。
java -version