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://www.mzph.cn/news/700313.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

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

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

.net6 webapi log4net完整配置使用流程

前置&#xff1a;为项目安装如下两个依赖 1.创建文件夹cfgFile 2.创建log4net.Config <?xml version"1.0" encoding"utf-8" ?> <log4net><appender name"ConsoleAppender" type"log4net.Appender.ConsoleAppender"…

月之暗面:Moonshot AI接口总结

前言&#xff1a; 开发者们只需访问 platform.moonshot.cn&#xff0c;便能创建自己的 API Key&#xff0c;进而将 Kimi 智能助手背后的同款 moonshot 模型能力&#xff0c;如长文本处理和出色的指令遵循等&#xff0c;集成至自己的产品中。这不仅增强了现有产品的功能&#x…

大离谱!AI写作竟让孔子遗体现身巴厘岛,看完笑不活了

大家好&#xff0c;我是二狗。 这两天我在知乎上看到了一个AI写作大翻车的案例&#xff0c;看完简直笑不活了&#xff0c;特地分享给大家一起 happy happy&#xff5e; 知乎网友“打开盒子吓一跳”一上来就抛出来了一个“孔子去世”的王炸。 首先&#xff0c;下面是一条真实新…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的犬种识别系统(附完整代码资源+UI界面+PyTorch代码)

摘要&#xff1a;本文介绍了一种基于深度学习的犬种识别系统系统的代码&#xff0c;采用最先进的YOLOv8算法并对比YOLOv7、YOLOv6、YOLOv5等算法的结果&#xff0c;能够准确识别图像、视频、实时视频流以及批量文件中的犬种。文章详细解释了YOLOv8算法的原理&#xff0c;并提供…

【Java程序设计】【C00286】基于Springboot的生鲜交易系统(有论文)

基于Springboot的生鲜交易系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的生鲜交易系统 本系统分为系统功能模块、管理员功能模块、用户功能模块以及商家功能模块。 系统功能模块&#xff1a;在系统首页可以…

【第七天】C++模板探秘:函数模板、类模板以及类型转换的深入解析

一、模板的概述 c面向对象编程思想&#xff1a;封装、继承、多态 c泛型编程思想&#xff1a;模板 模板的分类&#xff1a;函数模板、类模板 函数模板&#xff08;类模板&#xff09;&#xff1a;将功能相同&#xff0c;类型不同的函数&#xff08;类&#xff09;的类型抽象成虚…

聊聊Sora这个AI大神和中美技术赛跑那些事儿

最近有个叫Sora的AI模型火得一塌糊涂。它就像个魔法师&#xff0c;你给它一段话描述&#xff0c;它就能变出一段60秒的高清视频来&#xff0c;这可比之前咱们看过的那些文字转图片的AI厉害多了。想象一下&#xff0c;以后拍电影预告片、做广告宣传啥的&#xff0c;可能直接让So…

Ansible 更换aliyun 镜像 并下载tree

目录 查看系统版本找到对应 的版本对当前镜像进行备份下载aliyuan更换成功安装扩展源更换源之后 的三个命令 这里安装一个aliyun 的镜像 本案例 仅供实验参考 生产环境中请谨慎使用 查看系统版本 先查看linux 的系统 版本 ansible slave -m shell -a uname -a找到对应 的版本…

【Spring面试题】

目录 前言 1.Spring框架中的单例bean是线程安全的吗? 2.什么是AOP? 3.你们项目中有没有使用到AOP&#xff1f; 4.Spring中的事务是如何实现的&#xff1f; 5.Spring中事务失效的场景有哪些&#xff1f; 6.Spring的bean的生命周期。 7.Spring中的循环引用 8.构造方法…

FFmpeg解析之avformat_find_stream_info函数

avformat_find_stream_info 的主要作用就是&#xff1a;解析媒体文件并获取相关的流信息 整体的逻辑如下图所示&#xff1a; /*** Read packets of a media file to get stream information. This* is useful for file formats with no headers such as MPEG. This* function…

聊聊JVM运行时数据区的堆内存

聊聊JVM运行时数据区的堆内存 内存模型变迁&#xff1a; Java堆在JVM启动时创建内存区域去实现对象、数组与运行时常量的内存分配&#xff0c;它是虚拟机管理最大的&#xff0c;也是垃圾回收的主要内存区域 。 内存模型变迁&#xff1a; 为什么要有年轻区和老年区&#xff1f;…

【算法与数据结构】链表、哈希表、栈和队列、二叉树(笔记二)

文章目录 四、链表理论五、哈希表理论五、栈和队列理论5.1 单调栈 六、二叉树理论6.1 树的定义6.2 二叉树的存储方式6.3 二叉树的遍历方式6.4 高度和深度 最近博主学习了算法与数据结构的一些视频&#xff0c;在这个文章做一些笔记和心得&#xff0c;本篇文章就写了一些基础算法…

基于AI将普通RGB图像转换为苹果Vision Pro支持的空间照片

将 RGB 图像转换为空间图片 一、引言 随着AR和VR技术的普及,空间照片格式(.HEIC)逐渐受到关注。这种格式允许用户在AR/VR设备上体验到更为真实的立体空间效果。为了让更多的普通图片也能享受这种技术,我们开发了这款可以将普通RGB图像转换为苹果Vision Pro支持的.HEIC格式的…

STM32F103学习笔记(七) PWR电源管理(原理篇)

目录 1. PWR电源管理简介 2. STM32F103的PWR模块概述 2.1 PWR模块的基本工作原理 2.2 电源管理的功能和特点 3. PWR模块的常见应用场景 4. 常见问题与解决方案 1. PWR电源管理简介 PWR&#xff08;Power&#xff09;模块是STM32F103系列微控制器中的一个重要组成部分&…

实习日志18

1.刚弄好数据库就破大防了 1.1.图片显示&#xff0c;PDF不显示 我的图片是base64编码显示&#xff0c;pdf是用url显示 首先想到url出问题了 感觉可能是之前的那个问题&#xff0c;到服务器上url变回去了 活字格V9获取图片失败bug&#xff0c;报错404&#xff0c;了解存储路…

使用Streamlit构建纯LLM Chatbot WebUI傻瓜教程

文章目录 使用Streamlit构建纯LLM Chatbot WebUI傻瓜教程开发环境hello Streatelit显示DataFrame数据显示地图WebUI左右布局设置st.sidebar左侧布局st.columns右侧布局 大语言模型LLM Chatbot WebUI设置Chatbot页面布局showdataframe()显示dataframeshowLineChart()显示折线图s…

进程间的通信-- 管道

一 进程通信原理 我们知道进程间相互独立&#xff0c;具有独立性。那么我们要实现两个进程之间的通信就需要&#xff0c;让这两个进程看到同一个文件。然后一个进程对文件写入&#xff0c;一个进程对文件内容进行读取&#xff0c;这就是现实了进程间的通信。 二 进程通信的几种…

【C++私房菜】面向对象中的多态

文章目录 一、多态二、对象的静态类型和动态类型三、虚函数和纯虚函数1、虚函数2、虚析构函数3、抽象基类和纯虚函数4、多态的原理 四、重载、覆盖(重写)、隐藏(重定义)的对比 一、多态 OOP的核心思想是多态性(polymorphism)。多态性这个词源自希腊语&#xff0c;其含义是“多…

【黑马程序员】1、TypeScript介绍_黑马程序员前端TypeScript教程,TypeScript零基础入门到实战全套教程

课程地址&#xff1a;【黑马程序员前端TypeScript教程&#xff0c;TypeScript零基础入门到实战全套教程】 https://www.bilibili.com/video/BV14Z4y1u7pi/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 1、TypeScript介绍 1.1 TypeScript是什…