持续集成之Jenkins部署与关联gitlab

Jenkins简述

最流行的开源免费持续集成工具;官方描述:构建伟大,无所不能

Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。Jenkins 支持各种运行方式,可通过系统包Docker 或者通过一个独立的 Java 程序

Jenkins由java语言开发,用于监控持续重复的工作,包括:持续的软件版本发布/测试项目,监控外部调用执行的工作。

在这里插入图片描述

进入正题之前先来了解,什么是集成?

指的是代码由编译,发布和测试,直到上线的一个过程。

2、什么又是持续集成?

高效的、持续性质的不断迭代代码的集成工作。

3、为什么选用Jenkins帮助我们实现持续集成?

  • 持续集成和持续交付
    作为一个可扩展的自动化服务器,Jenkins 可以用作简单的 CI 服务器,或者变成任何项目的持续交付中心
  • 简易安装
    Jenkins 是一个基于 Java 的独立程序,可以立即运行,包含 Windows、Mac OS X 和其他类 Unix 操作系统,社区活跃,文献丰富
  • 配置简单
    Jenkins 可以通过其网页界面轻松设置和配置,其中包括即时错误检查和内置帮助。
  • 插件
    通过更新中心中的 1000 多个插件,Jenkins 集成了持续集成和持续交付工具链中几乎所有的工具。
  • 扩展
    Jenkins 可以通过其插件架构进行扩展,从而为 Jenkins 可以做的事提供几乎无限的可能性
  • 分布式
    Jenkins 可以轻松地在多台机器上分配工作,帮助更快速地跨多个平台推动构建、测试和部署。

Gitlab的部署部分参考:

持续集成之Gitlab部署与应用

Jenkins部署

1.检查java环境,Jenkins由java开发需要依赖Java环境
在这里插入图片描述
没有的可以手动下载 :yum -y install java-1.8.0-openjdk*

2.下载安装Jenkins的rpm包

本篇以jenkins-2.222-1.1.noarch.rpm版本为例:
wget https://mirror.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.222-1.1.noarch.rpm
yum安装:
cd 
yum -y instal jenkins-2.222-1.1.noarch.rpm

安装完可以看见

[root@localhost ~]# rpm -ql jenkins
/etc/init.d/jenkins    #系统服务文件
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins #主配置文件
/usr/lib/jenkins
/usr/lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/jenkins   #缓存文件
/var/lib/jenkins    #数据文件,从gitlab构建的代码都存放在这里
/var/log/jenkins   #日志文件

3.修改配置文件(默认jenkins端口为8080,同gitlab,tomcat一起使用,默认都是8080,Jenkins和Gitlab需要修改端口)

vim /etc/sysconfig/jenkins
	修改:
	JENKINS_PORT="8010"
	保存退出

4.启动jenkins

systemctl start jenkins

5.浏览器登入Jenkins

http;//{Jenkins服务器ip}:port

6.安装完Jenkins会在/var/lib/jenkins/secrets/initialAdminPassword生成密码文件

cat /var/lib/jenkins/secrets/initialAdminPassword
XXXXXXXXXXXXXXX
#复制加密密码字段,粘贴到web

在这里插入图片描述
在这里插入图片描述
点击继续,第一次进去可能回稍慢一点,等待一会儿
进去以后,我们不要用推荐安装,选择选择插件安装
全部 – 无 – 安装,这里安装插件,看完就知道了
在这里插入图片描述
创建管理用户,
在这里插入图片描述
安装完后,进入此界面,然后我们还没有安装插件,
准备安装插件,修改原官网url(国外服务器,安装太慢)
在这里插入图片描述
更改插件Updates地址,别忘记最后修改完点击Submit

换成:

https://mirror.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
在这里插入图片描述
还没有完,在/var/lib/jenkins/updates 里有一个default.json,里面url地址也需要改,否则不会生效。
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

注:
如果你的原网址下边有一行红色子串报错,把原网址的https改成http,亲测可用,否则不会出现Updates目录

更改完上边地址后呢,先不要着急去下载插件,安装Jenkins里没有任何插件,自己下载吧,不仅有很多插件不知道什么作用,个别的插件还需要依赖关系,好头疼,要是不去公司历练几年,真不知道怎么安装,这里分享一个常用的插件安装包,解压完全部复制到/var/lib/jenkins/plugins,重启服务就好啦,如果还需要别的,那就自行下载吧,反正地址改过了,下载也快。

tar zxf jenkins-plugins.tar.gz 
mv plugins/* /var/lib/jenkins/plugins/

链接:https://pan.baidu.com/s/1GZHyw7FKLg9LqL7EIbmnXg
提取码:00ov

安装完重启jenkins,进来如果有这个红框,不用担心,只是提醒你有可用更新,不用理他
在这里插入图片描述

现在自己手动安装一个简体中文插件,试一试
在这里插入图片描述
很快,完成后重启生效,我们毕竟都是中国人,还是看母语舒服一些
在这里插入图片描述
在这里插入图片描述

关联gitlab

(1)首先去创建一个先项目,点击左上角logo–回到主页面–选择新项目“New Item”–填写项目名–选择项目类型“Freestyle project”–save保存
在这里插入图片描述
(2)配置项目–源代码管理–git–填写存储库网址([email protected]:dev/web.git)–报红字错误,则需要添加私钥认证–如果认证成功–save保存
在这里插入图片描述
cat /root/.ssh/id_rsa
复制所有内容拷贝到下框

在这里插入图片描述
(3)选择项目–左侧选择“build now”–下面构建历史出现蓝色标志–选择蓝色标志下拉列表–console output–输出执行过程

在这里插入图片描述
在这里插入图片描述
到这里说明已经关联成功;

(4)jenkins服务器上查看/var/lib/jenkins/workspace目录,会有项目同名文件夹,会有gitlab里所有代码

在这里插入图片描述

自动触发build项目(构建)

定时触发
业务繁忙需要频繁上线时,我们自己把时间设置短一点,平时你就随意玩吧

(1)先在gitlab’端上传新的代码文件

[root@localhost git]# echo "Happy Mother's Day" > mother.txt
[root@localhost git]# ls
monitor  mother.txt  README.md
[root@localhost git]# git add .
[root@localhost git]# git commit -m 'add mother.txt'
[master d631263] add mother.txt
 1 file changed, 1 insertion(+)
 create mode 100644 mother.txt
[root@localhost git]# 
[root@localhost git]# git push -u origin master
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 323 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To [email protected]:Vitamin/Vitamin_tasks.git
   17b1e64..d631263  master -> master
Branch master set up to track remote branch master from origin.

在gitlab服务器上出现了新添的内容在这里插入图片描述
(2)点击创建好的项目test — 创建触发器—定时构建 —保存
在这里插入图片描述
稍等…

emm…

王者峡谷6分钟我又回来啦。。。
在这里插入图片描述
查看第二个构建,正好有我们添加的内容,
第三个和第二个一样,没有gitlab端没有做任何变化
在这里插入图片描述

原创文章 58 获赞 20 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43815140/article/details/106019318