Linux:Jenkins:GitLab+Maven+Jenkins的部署

1.环境

我这里准备了三台centos7

1.用于部署gitlab      运行内存:6G        名字:Jenkins-GitLab        192.168.6.1        

2.用于部署jenkins   运行内存:2G        名字:Jenkins-server         192.168.6.2

3.用于打包测试       运行内存:2G        名字:Jenkins-test             192.168.6.3

 


2.jenkins简介

Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。

作为一个可扩展的自动化服务器,Jenkins 可以用作简单的 CI 服务器,或者变成任何项目的持续交付中心。 

Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。

Jenkins 是一个基于 Java 的独立程序,可以立即运行,包含 Windows、Mac OS X 和其他类 Unix 操作系统。

Jenkins 可以通过其网页界面轻松设置和配置,其中包括即时错误检查和内置帮助。

Jenkins 可以通过其插件架构进行扩展,从而为 Jenkins 可以做的事提供几乎无限的可能性。

可以轻松地在多台机器上分配工作,帮助更快速地跨多个平台推动构建、测试和部署

Jenkins 用户手册icon-default.png?t=N7T8https://www.jenkins.io/zh/doc/这个是jenkins的用户手册,如果需要详细的资料可以去里面翻阅一下


3.yum在线部署gitlab

GitLab下载安装_GitLab最新中文官网免费版下载-极狐GitLabicon-default.png?t=N7T8https://gitlab.cn/install/ 官网下载安装包的的地方,各大主流版本支持的都有,这里我使用的centos7

yum install -y curl policycoreutils-python openssh-server perl

并且开启你的sshd,如果你正在使用这ssh工具连接你的Linux则可以直接下一步

systemctl start sshd
systemctl enable sshd

然后配置他的一个官方yum源

curl -fsSL https://packages.gitlab.cn/repository/raw/scripts/setup.sh | /bin/bash
EXTERNAL_URL="http://192.168.6.2" yum install -y gitlab-jh#!!!注意,这里的ip地址填你自己gitlab的地址

这里可能需要一段时间,不要觉得时间长就停掉了

gitlab-ctl start   #开启gitlab所有组件服务
gitlab-ctl restart #重启gitlab所有组件服务
gitlab-ctl stop    #关闭gitlab所有组件服务
gitlab-ctl status  #查看服务情况
gitlab-ctl tail    #查看日志
gitlab-ctl reconfigure    #开启服务

 

502的话不要慌,等会 

 让后直接访问服务器ip进行访问

 刚刚安装时候他又有这么一段提示,账户是root 默认密码给你保存在那个文件夹里了,超过24小时就把那个文件夹删除了

然后就进来了

进入管理员界面

让后就可以进行修改密码了 


4.dockers部署 gitlab

首先要有docker的一个环境如果没有的话可以去看下面这个网站先安装一下

https://docs.docker.com/engine/install/

下面就正式在docker下安装gitlab

export GITLAB_HOME=/srv/gitlab

 这个变量用作安装目录

$GITLAB_HOME/data/var/opt/gitlab用于存储应用程序数据。
$GITLAB_HOME/logs/var/log/gitlab用于存储日志。
$GITLAB_HOME/config/etc/gitlab用于存储极狐GitLab 配置文件。

这个是极狐的一些路径

sudo docker run --detach \--hostname 192.168.6.7 \--publish 443:443 --publish 80:80 \--name gitlab \--restart always \--volume $GITLAB_HOME/config:/etc/gitlab \--volume $GITLAB_HOME/logs:/var/log/gitlab \--volume $GITLAB_HOME/data:/var/opt/gitlab \--shm-size 256m \registry.gitlab.cn/omnibus/gitlab-jh:latest

开始运行极狐,如果你没有镜像的话会自动下载,并且每次都随着docker重启而启动,你可以理解为开机自启,注意!!,把上面的ip地址改成你服务器的ip地址

 

如果是502的话不要慌,等一小会 

出现这个界面我们再去找密码 

docker exec -it gitlab /bin/bash

 进入容器以后再执行

cat /etc/gitlab/initial_root_password

我们的密码都不一样,你需要自己去寻找你的密码



5.jar部署Jenkins

如果你是centos7我推荐你用下面的方法安装 使用rpm进行安装,如果你使用这种,兼容性高的var包可能会导致软件推荐给你安装的插件失败,使用rpm包的方式安装可能不会这样

Jenkins 的安装和设置icon-default.png?t=N7T8https://www.jenkins.io/zh/download/到Jenkins的官方网站下载一个war包

让后上传到 Linux服务器中

yum -y install java-11-openjdk

安装java的一个环境

java -jar jenkins.war 

运行jenkins

启动成功  那串数值就是默认的解锁码

启动后在当前用户的默认目录下载会生成目录    .jenkins/

访问Jenkins

你的服务器ip:8080 

输入刚刚那串数值

 开始配置插件,选择我们需要的插件,这里选择安装推荐的插件

 

等待即可 

如果出现安装失败不要着急,等会进去再进行配置下载

 直接继续

 让后进行一个用户的创建

保存并完成

开始使用Jenkins!! 

 成功进入主界面


6. rpm部署Jenkins

Redhat Jenkins Packagesicon-default.png?t=N7T8https://get.jenkins.io/redhat/Jenkins官网rpm安装包

下载这个包以后放进服务器再进行安装安装

rpm -ivh jenkins-2.445-1.1.noarch.rpm 
systemctl start jenkins.service
systemctl status jenkins.service#只要是running则成功开启

也是和jar安装一样,进行用户的配置

vim /usr/lib/systemd/system/jenkins.service#配置Jenkins的主配置文件我主要配置的就是主配置文件的路径和默认用户(可以默认不动)
配置java的默认目录
配置端口号(默认8080)#刚刚我使用的yum安装的java  所以他所在的目录就在/usr/lib/jvm/java-11-openjdk-11.0.8.10-1.el7.x86_64,你如果是自定义安装的java则指定你安装的路径即可,如果你也是使用的yum或rpm进行自动安装,但是你不知道放在了哪里,你可以使用    readlink -f $(which java)   进行java路径的查询

 

修改完重启即可

systemctl daemon-reload

7.解决插件安装失败

解决这一步的,如果你没问题,则可以直接跳过

 

点击纠正 

填写: https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

 

让后就可以在这里挑挑把没安装的统统安装了 


8下载安装Maven

 是使用的apache的Maven进行的代码拉取

Maven – Welcome to Apache Mavenicon-default.png?t=N7T8https://maven.apache.org/

进入官网下载maven   tar 包

下载完放进Linux进行解压 

tar xfv apache-maven-3.9.6-bin.tar.gz 
mv apache-maven-3.9.6 /usr/local/maven
/usr/local/maven/bin/mvn

运行maven,没报错就行

/usr/local/maven/bin/mvn -v

查看maven的版本

让后进去Jenkins 

现在去里面看发现并没有maven

我们先要去里面安装一个插件 

进入pluginsp

找到这个插件。这个插件主要是给我们构建项目用的 

直接给他勾上,让后安装 耐心等待

这样就好了

现在我们再去构建项目

发现现在就可以去构建maven项目了

然后额外再安装两个这个就行了 

yum -y install git
yum -y install java-devel


修改gitlab的root密码

如果你忘记了root的密码可以进入gitlab的数据库进行数据的修改

gitlab-rails console -e production
user = User.where(id:1).first
user.password='你要修该的密码'
user.save!

 如果你是docker部署的只需进去容器再依次执行上面的命令即可

docker exec -it gitlab /bin/bash

进入容器 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2806350.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

GO-ICP的使用(一)

一、代码下载以、修改以及使用 下载: 链接:yangjiaolong/Go-ICP: Implementation of the Go-ICP algorithm for globally optimal 3D pointset registration (github.com) 解压之后 : 首先visual studio项目,配置好PCL环境&…

【leetcode热题】不同的子序列

给你两个字符串 s 和 t ,统计并返回在 s 的 子序列 中 t 出现的个数,结果需要对 109 7 取模。 示例 1: 输入:s "rabbbit", t "rabbit" 输出:3 解释: 如下所示, 有 3 种可以从 s 中…

Ps:明度直方图

明度 Luminosity直方图显示了图像中各个亮度级别的像素分布情况。 与 RGB 直方图不同,“明度”直方图专注于图像的亮度信息,而不是单独的颜色信息。 在“直方图”面板的通道中选择“明度”。 “明度”直方图提供了一种量化的方式来理解图像的整体明暗结构…

数字滚动实现

介绍 vue-countup-v3 插件是一个基于 Vue3 的数字动画插件,用于在网站或应用程序中创建带有数字动画效果的计数器。通过该插件,我们可以轻松地实现数字的递增或递减动画,并自定义其样式和动画效果。该插件可以用于许多场景,例如展…

MYSQL安装及卸载

目录 一、下载 二、解压 三、配置 1. 添加环境变量 2. 初始化MySQL 3. 注册MySQL服务 4. 启动MySQL服务 5. 修改默认账户密码 四、登录MySQL 五、卸载MySQL 一、下载 点开下面的链接:MySQL :: Download MySQL Community Server 点击Download 就可以下载对…

【深度学习目标检测】十八、基于深度学习的人脸检测系统-含GUI和源码(python,yolov8)

人脸检测是计算机视觉中的一个重要方向,也是一个和人们生活息息相关的研究方向,因为人脸是人最重要的外貌特征。人脸检测技术的重要性主要体现在以下几个方面: 人脸识别与安全:人脸检测是人脸识别系统的一个关键部分,是…

人工智能 — 特征选择、特征提取、PCA

目录 一、特征选择1、定义2、原因3、做法4、生成过程5、停止条件 二、特征提取三、PCA 算法1、零均值化(中心化)2、方差3、协方差4、协方差矩阵5、对协方差矩阵求特征值、特征矩阵6、对特征值进行排序7、评价模型8、代码实现9、sklearn 库10、鸢尾花实例…

Flink join详解(含两类API及coGroup、connect详解)

Flink SQL支持对动态表进行复杂而灵活的连接操作。 为了处理不同的场景,需要多种查询语义,因此有几种不同类型的 Join。 默认情况下,joins 的顺序是没有优化的。表的 join 顺序是在 FROM 从句指定的。可以通过把更新频率最低的表放在第一个、…

Python 实现 BRAR 指标计算(情绪指标):股票技术分析的利器系列(11)

Python 实现 BRAR 指标计算(情绪指标):股票技术分析的利器系列(11) 介绍算法公式 代码rolling函数介绍核心代码计算BR计算AR 完整代码 介绍 BRAR 是一种情绪指标,用于衡量特定金融市场中的买卖情绪。它代表…

高考志愿辅助填报系统

高考志愿辅助填报系统 获取源码——》公主号:计算机专业毕设大全

一文搞懂TCP三次握手与四次挥手

什么是TCP协议? TCP(Transmission control protocol)即传输控制协议,是一种面向连接、可靠的数据传输协议,它是为了在不可靠的互联网上提供可靠的端到端字节流而专门设计的一个传输协议。 面向连接:数据传…

Java智慧工地云综合管理平台SaaS源码 助力工地实现精细化管理

目录 智慧工地系统介绍 1、可视化大屏 2、视频监控 3、Wi-Fi安全教育 4、环境监测 5、高支模监测 6、深基坑监测 7、智能水电监测 8、塔机升降安全监测 智慧工地系统功能模块 1、基础数据管理 2、考勤管理 3、安全隐患管理 4、视频监控 5、塔吊监控 6、升降机监…

泰迪智能科技中职大数据专业建设解决方案

泰迪智能科技基于十余年的数据智能产业实践经验,专注于大数据和人工智能方向,构建“产、岗、课、赛、证、文”融通的特色职业人才培养模式,助力中国职业教育高质量发展。 面相中职学校的大数据岗位群 目前就业市场上,大数据相关…

Python奇幻之旅(从入门到入狱高级篇)——面向对象进阶篇(下)

目录 引言 3. 面向对象高级和应用 3.1. 继承【补充】 3.1.1. mro和c3算法 c3算法 一句话搞定继承关系 3.1.2. py2和py3区别 3.3. 异常处理 3.3.1. 异常细分 3.3.2. 自定义异常&抛出异常 3.3.3. 特殊的finally 3.4. 反射 3.4.1. 一些皆对象 3.4.2. import_modu…

第十四章[面向对象]:14.8:枚举类

一,定义枚举类 1,把一个类定义为枚举类: 只需要让它继承自 enum 模块中的 Enum 类即可。 例如在下面的例子中,Weekday 类继承自 Enum 类, 则表明这是一个枚举类 枚举类的每个成员都由 2 部分组成,分别是 name 和 value, 其中 name 属性值为该枚举值的变量名(如下例中: …

微信小程序 ---- 生命周期

目录 生命周期 1. 小程序运行机制 2. 小程序更新机制 3. 生命周期介绍 4. 应用级别生命周期 5. 页面级别生命周期 6. 生命周期两个细节补充说明 7. 组件生命周期 总结 生命周期 1. 小程序运行机制 冷启动与热启动: 小程序启动可以分为两种情况&#xff0…

flutter插件开发基础教程

前言 虽然现在已经有很多插件了,但是有时候还是需要自己开发一个插件。因此打算学习一下如何开发一个插件。这里只考虑安卓,安卓使用kotlin,kotlin不会也没事,我也不会。 参考项目:https://github.com/TBoyLi/flutte…

【更换yarn的位置】解决yarn和nodejs不在同一盘下产生的某些命令应用失败问题

具体问题我记得是command fail什么error,记不太清楚了,文章主要写了如何替换yarn路径,希望可以帮助到大家。

【YOLO系列算法人员摔倒检测】

YOLO系列算法人员摔倒检测 模型和数据集下载YOLO系列算法的人员摔倒检测数据集可视化数据集图像示例: 模型和数据集下载 yolo行人跌倒检测一: 1、训练好的行人跌倒检测权重以及PR曲线,loss曲线等等,map达90%多,在行人跌…

测试需求平台7-产品管理服务接口一篇搞定

✍此系列为整理分享已完结入门搭建《TPM提测平台》系列的迭代版,拥抱Vue3.0将前端框架替换成字节最新开源的arco.design,其中约60%重构和20%新增内容,定位为从 0-1手把手实现简单的测试平台开发教程,内容将囊括基础、扩展和实战&a…