服务搭建篇(九) 使用GitLab+Jenkins搭建CI\CD执行环境 (上) 基础环境搭建

感兴趣的话大家可以关注一下公众号 : 猿人刘先生 , 欢迎大家一起学习 , 一起进步 , 一起来交流吧!

1.前言

每当我们程序员开发在本地完成开发之后 , 都要部署到正式环境去使用 , 在一些传统的运维体系中 , 开发与运维都是割裂的 , 开发人员不允许操作正式服务器 , 服务器只能通过运维团队来操作 , 这样可以极大的提高服务器的安全性 , 不经过安全保护的开放服务器 , 对于黑客来说无疑就是打靶的靶场

所以 , 在现代化的大型软件项目中 , 对于开发的要求还是比较高的 , 虽然不会要求像运维老哥那样linux命令熟练到起飞 , 精通各种参数调优 , 安全策略 , 但是基础的运行环境运维的操作也是需要了解的 , 这样才能指导运维老哥进行业务环境部署 , 也就是开发运维一体化。虽然现在有很多工具能够帮助开发人员减少一些复杂的操作,但是开发人员还是需要更多的接触运维的工作

但是这种运维方式,同时也给项目开发过程中带来了很多困难

一方面,开发人员只能向运维人员描述具体的部署方式。但是由于开发人员无法接触到生产服务器,
所以文字描述的方式往往很难保证操作的准确性。经常会出现开发人员在开发环境运行得很好的迭代
包,升级到生产环境上之后无法保证升级的效果。对于现在流行的基于敏捷开发的大型项目来说,很多
需求需要以代码分支的方式进行并行开发,然后再合并部署,这其中更是非常容易出现错误,造成生产
环境不稳定。

另一方面,当项目在线上运行出现故障时,开发人员也很难第一时间接触到错误日志。如果线上出现
问题,开发人员往往需要找运维部门协同,才能获取到生产环境的服务日志。这会极大的延缓错误排查
的及时性

2.DevOps

以上那些问题的核心,其核心就是在传统运维体系下,开发和运维之间是有天然的壁垒和鸿沟的。而
DevOps则是试图打破这些壁垒鸿沟的一种方法论。DevOps是**Development(开发)Operation(运维)**两
个单词的组合,他是一种重视软件开发人员和运维技术人员之间沟通合作的文化、运动或者惯例。通过
自动化软件交互和架构变更的流程,使得构建、测试、发布软件时能够更加快捷、频繁和可靠。
总而言之,DevOps是一个标准,一种方法论或者说是一个目标,并不指一个特定的规则或者一系列
特殊的工具。那要如何落地DevOps呢?通常,这就需要CI\CD出马了。

3.CI&CD

CI\CD中的CI指的是持续集成Continuous Integeration,他是开发人员的自动化过程。成功的CI意味
着人员同的新代码变更会定期构建、测试并合并到共享存储库(比如Git或者SVN)。而CD指的是持续交付 Continuous Delivery和持续部署Continuous Deployment。成功的CD意味着运维人员可以从共享存储
库中持续获取到最新的产品副本,并确保最新的产品副本可以正确更新到服务器上

4.GitLab

gitLib的安装在之前我已经写过一篇文章 , 可以先看看这篇文章把Gitlib安装完毕 :

https://blog.csdn.net/qq_45001002/article/details/129399636?spm=1001.2014.3001.5501

5.Jenkins

Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序

5.1 下载

wget https://repo.huaweicloud.com/jenkins/redhat-stable/jenkins-2.346.3-1.1.noarch.rpm

5.2 安装

rpm -ivh jenkins-2.346.3-1.1.noarch.rpm

5.3 修改配置文件

vim /etc/init.d/jenkins 

在这里插入图片描述

查看jdk位置

which java

5.4 修改配置文件

修改端口是为了保证8080端口不冲突

vim /etc/sysconfig/jenkins

在这里插入图片描述

5.5 修改jenkins.service

vim /usr/lib/systemd/system/jenkins.service

在这里插入图片描述
两个配置文件端口保证一致 , 修改完之后重新载入配置

systemctl daemon-reload

服务自启动

systemctl enable jenkins

5.6 相关命令

/etc/init.d/jenkins start 启动  或者可以使用  systemctl start jenkins.service
/etc/init.d/jenkins stop 停止  或者可以使用  systemctl stop jenkins.service
/etc/init.d/jenkins restart 重启  或者可以使用  systemctl restart jenkins.service

5.7 初始化

在这里插入图片描述
密码在 :

/var/lib/jenkins/secrets/initialAdminPassword

这个里边 , 然后点击确定
然后会引导安装一些插件。这一步比较自由。你可以按照默认方式安装,也可以选择一些你认识的常
用插件安装。关键插件漏了没有关系,后续也可以再安装插件。
在这里插入图片描述
安装之后使用admin用户或者自己创建一个都行

5.8 核心插件配置

选择 Manage Jenkins-> Manage Plugins,进入插件管理页面。
在这里插入图片描述
在这里需要安装几个核心的插件。包括Git 、Git client、NodeJS Plugin、Maven integration
plugin。Jenkins重启的方式是直接在浏览器上访问restart接口。

http://192.168.154.148:8085/restart

5.9 核心组件配置

5.9.1 git

yum -y install git

5.9.2 mvn

首先在/usr/local新建一个maven文件夹

cd /usr/local
mkdir maven

在这里插入图片描述
下载

https://maven.apache.org/download.cgi

在这里插入图片描述

解压

tar zxvf apache-maven-3.9.0-bin.tar.gz

添加环境变量

vim /etc/profile
export MAVEN_HOME=/usr/local/maven/apache-maven-3.9.0
export PATH=$MAVEN_HOME/bin:$PATH

在这里插入图片描述
添加完之后刷新一下配置文件

source /etc/profile

执行mvn -v
在这里插入图片描述

5.93 Node.js

下载

wget https://nodejs.org/dist/v14.17.4/node-v14.17.4-linux-x64.tar.xz

解压

tar xf node-v14.17.4-linux-x64.tar.xz

配置环境变量

cd  node-v14.17.4-linux-x64
pwd

在这里插入图片描述
复制这个路径

vim /etc/profile

添加如下代码

export NODEJS_HOME=/home/software/node-v14.17.4-linux-x64
export PATH=$NODEJS_HOME/bin:$PATH

在这里插入图片描述
刷新权限

source /etc/profile

输入node -v 和 npm-v进行测试
在这里插入图片描述
到这里 GitLab+Jenkins的基础环境已经搭建完毕 , 下一篇文章将会说明如何基于GitLab+Jenkins快速实现CI\CD

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
GitLabJenkins、Maven和Tomcat可以用于搭建一个基于Web应用的持续化集成系统。 1. GitLab GitLab是一个基于Web的Git仓库管理工具,它提供了代码托管、CI/CD、代码审核、Wiki等功能。在GitLab,我们需要创建一个项目,并将代码提交到GitLab。 2. Jenkins Jenkins是一个开源的自动化构建工具,它提供了大量的插件,支持各种语言和框架的构建和测试。我们可以通过Jenkins来实现持续化集成、自动化测试和自动化部署。 3. Maven Maven是一个基于Java的项目管理工具,它提供了依赖管理、构建管理、发布管理等功能。我们可以通过Maven来管理项目的依赖和构建过程。 4. Tomcat Tomcat是一个基于Java的Web服务器,它可以用于部署Java Web应用。我们可以将构建好的Java Web应用部署到Tomcat。 下面是搭建持续化集成系统的步骤: 1. 在GitLab创建一个项目,将代码提交到GitLab。 2. 在Jenkins配置GitLab插件,连接GitLab仓库。 3. 在Jenkins创建一个新的构建任务,在任务配置Maven构建。 4. 在构建任务配置自动化测试和自动化部署,可以使用Jenkins插件或者脚本来实现。 5. 配置Tomcat服务器,将构建好的Java Web应用部署到Tomcat。 6. 在Jenkins配置自动化构建触发器,可以选择定时构建或者GitLab代码提交触发构建。 通过上述步骤,我们就可以实现基于GitLabJenkins、Maven和Tomcat的持续化集成系统。这样在每次代码提交后,系统会自动进行构建、测试和部署,提高了开发效率和代码质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lingering fear

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值