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

news2024/12/23 15:39:51

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.coloradmin.cn/o/1467700.html

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

相关文章

设计模式——三大工厂模式

工厂模式 简单工厂模式(静态工厂模式) 介绍: 1、简单工厂模式是属于创建型模式,是工厂模式的一种,**简单工厂模式是由一个工厂对象决定创建出哪种产品的实例**。是工厂模式中最简单使用的模式 2、简单工厂模式&#…

ONLYOFFICE8.0——赋能办公

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-xdAoM2pHRmDFP0tF {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

挑战30天学完Python:Day18 正则表达式

📘 Day 18 🎉 本系列为Python基础学习,原稿来源于 30-Days-Of-Python 英文项目,大奇主要是对其本地化翻译、逐条验证和补充,想通过30天完成正儿八经的系统化实践。此系列适合零基础同学,或仅了解Python一点…

Python 在Word中创建表格并填入数据、图片

在Word中,表格是一个强大的工具,它可以帮助你更好地组织、呈现和分析信息。本文将介绍如何使用Python在Word中创建表格并填入数据、图片,以及设置表格样式等。 Python Word库: 要使用Python在Word中创建或操作表格,需…

24款奔驰C260L升级C63包围 渣男的外观

今天店里来了一台24款奔驰C260L 一提车就过来升级 我们公司还有包上牌服务 车主说 升级完包围 帮忙安排一下 原车的包围 没有那么霸气 特别是后杠 光溜溜的 升级后 四出尾喉 尾翼 直接牌面就起来了,星骏汇小许Xjh15863

【统计分析数学模型】判别分析(四):机器学习分类算法

【统计分析数学模型】判别分析(四):机器学习分类算法 一、机器学习分类算法1. 交叉验证方法2. 案例数据集3. 数据标准化 二、决策树模型1. 基本原理2. 计算步骤3. R语言实现 三、K最邻近分类1. 基本原理2. K值的选择3. R语言实现 四、支持向量…

图像压缩感知的MATLAB实现(OMP)

前面实现了 压缩感知的图像仿真(MATLAB源代码) 效果还不错,缺点是速度慢如牛。 下面我们采用OMP对其进行优化,提升速度。具体代码如下: 仿真 构建了一个MATLAB文件,所有代码都在一个源文件里面&#xf…

MySQL——基础内容

目录 第01章_数据库概述 关系型数据库(RDBMS)——表、关系模型 非关系型数据库(非RDBMS) 表、记录、字段 表的关联关系 一对一关联 一对多关系 多对多 自我引用 第02章_MySQL环境搭建 登录命令 常用命令 show databases; create database use 数据库名 show tables 第03章…

2023最新简绘AI开源版支持MJ绘画,AI问答

应用介绍 本文来自:2023最新简绘AI开源版支持MJ绘画,AI问答 - 源码1688 简介: 简绘AI开源版,从闲鱼上买的,搭建教程如下 测试环境:NginxPHP7.4MySQL5.6 图片:

CentOS 中 RSYNC 同步分发脚本一键部署

文章目录 一、场景说明二、脚本职责三、参数说明四、操作示例五、注意事项 一、场景说明 本自动化脚本旨在为提高研发、测试、运维快速部署应用环境而编写。 脚本遵循拿来即用的原则快速完成 CentOS 系统各应用环境部署工作。 统一研发、测试、生产环境的部署模式、部署结构、…

ChatGpt的初步认知(认知搬运工)

前言 ChatGpt火了有一段时间了,对各行各业也有了一定的渗透,当然发展过程中也做了一些安全约束,今天主要是来跟大家分享下关于chatGpt的初步认知。 一、chatGpt是什么? ChatGPT,全称聊天生成预训练转换器(英…

如何利用AI产品写作高质量SEO文章

在搜索引擎优化(SEO)的过程中,我们的目标非常明确,即增加网站的流量并实现有效的转化。那么,如何才能吸引更多的用户访问网站呢?这时候,文章就成为了一个非常好的工具。用户可以通过阅读文章来了…

How to implement multiple file uploads based on Swagger 3.x in Spring boot 3.x

How to implement multiple file uploads based on Swagger 3.x in Spring boot 3.x Projectpom.xmlOpenAPIConfigFileUploadControllerapplication.yaml Project pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://…

【科普知识】什么是电机的开环和闭环

电机是现代工业和生活中不可或缺的一部分&#xff0c;无论是电动工具、电动汽车还是工业机器人&#xff0c;都离不开电机的驱动。电机的控制系统根据有无反馈信号可以分为开环和闭环两种类型&#xff0c;这两种系统各有其特点和应用场景。 01.开环控制系统 开环控制系统是电机控…

AP引擎助力加速生产SQL运行

Rapid存储引擎简介 从GreatSQL 8.0.32-25版本开始&#xff0c;新增Rapid存储引擎&#xff0c;该引擎使得GreatSQL能满足联机分析&#xff08;OLAP&#xff09;查询请求。 Rapid引擎采用插件&#xff08;Plugin&#xff09;方式嵌入GreatSQL中&#xff0c;可以在线动态安装或卸…

(九)springmvc+mybatis+dubbo+zookeeper分布式架构 整合 - maven构建ant-framework核心代码Base封装

今天重点讲解的是ant-framework核心代码Base封装过程。 因为涉及到springmvc、mybatis的集成&#xff0c;为了使项目编码更简洁易用&#xff0c;这边将基础的BASE进行封装&#xff0c;其中包括&#xff1a;BaseBean、BaseDao、BaseService、CRUD的基础封装、分页组件的封装、m…

OSCP靶场--Nickel

OSCP靶场–Nickel 考点(1.POST方法请求信息 2.ftp&#xff0c;ssh密码复用 3.pdf文件密码爆破) 1.nmap扫描 ┌──(root㉿kali)-[~/Desktop] └─# nmap 192.168.237.99 -sV -sC -p- --min-rate 5000 Starting Nmap 7.92 ( https://nmap.org ) at 2024-02-22 04:06 EST Nm…

22款奔驰C260L升级小柏林音响 无损音质效果

奔驰新款C级号称奔驰轿车的小“S”&#xff0c;在配置方面上肯定也不能低的&#xff0c;提了一台低配的车型&#xff0c;通过后期升级加装件配置提升更高档次&#xff0c;打造独一无二的奔驰C级&#xff0c;此次来安排一套小柏林之声音响&#xff0c;效果怎么样&#xff0c;我们…

maven3旧版本的下载地址(含新版本)

因为现有的3.8版本与IDEA不兼容&#xff0c;我需要下载3.6版本&#xff0c;但是官网的位置非常隐蔽&#xff0c;找了很多资料才看到。故记录一下。 第一步 进入网址&#xff0c;选择需要的版本 Index of /dist/maven/maven-3 第二步 选择binaries 第三步 选择zip文件下载就可…

Nacos配置中心实战

目录 配置中心 什么是Nacos配置中心&#xff1f; SpringCloud整合Nacos配置中心 nacos server配置中心中准备配置数据 微服务接入配置中心 Config相关配置 RefreshScope实现动态感知 配置中心 在微服务架构中&#xff0c;当系统从一个单体应用&#xff0c;被拆分成分布式…