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

进入容器 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

全面解析企业财务报表系列之五:阅读财报结构、顺序、模块与不同侧重

全面解析企业财务报表系列之五:阅读财报结构、顺序、模块与不同侧重 一、明确本次报表分析的目的二、确定报表分析的重点项目三、重点分析项目之间的联系四、资产负债表的阅读五、利润表的阅读六、现金流量表的阅读七、综合分析 一、明确本次报表分析的目的 报表的…

VBA即用型代码手册:立即保护所有工作表Code及插入多工作表Code

我给VBA下的定义:VBA是个人小型自动化处理的有效工具。可以大大提高自己的劳动效率,而且可以提高数据的准确性。我这里专注VBA,将我多年的经验汇集在VBA系列九套教程中。 作为我的学员要利用我的积木编程思想,积木编程最重要的是积木如何搭建…

【C语言】指针变量未初始化

我们知道:全局变量未赋初值,编译器会直接赋值为0;局部变量如果未赋初值,则会维持上一状态保存在该地址上的值,这个值是随机的。把这个值赋值给局部变量是没有意义的。 但是指针变量是如何解决不赋初值? 指…

探索设计模式的魅力:状态模式揭秘-如何优雅地处理复杂状态转换

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,并且坚持默默的做事。 探索设计模式的魅力:状态模式揭秘-如何优雅地处理复杂状态转换 文章目录 一、案例…

力扣 187. 重复的DNA序列

1.题目 DNA序列 由一系列核苷酸组成,缩写为 A, C, G 和 T.。 例如,"ACGAATTCCG" 是一个 DNA序列 。 在研究 DNA 时,识别 DNA 中的重复序列非常有用。 给定一个表示 DNA序列 的字符串 s ,返回所有在 DNA 分子中出现不止一…

如何连接ACL认证的Redis

点击上方蓝字关注我 应用程序连接开启了ACL认证的Redis时与原先的方式有差别,本文介绍几种连接开启ACL认证的Redis的Redis的方法。 对于RedisACL认证相关内容,可以参考历史文章: Redis权限管理体系(一):客户端名及用户…

Python之numpy

目录 安装 ndarray 说明文档 NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 安装 pip3 install --user numpy scipy matplotlib ndarray NumP提供了 N 维数组…

国家之间的竞争绝不仅仅是几个AI软件的竞争

国家之间的竞争应该不仅仅是几个AI软件的竞争,而更多地是人机环境系统生态的竞争。在这种观点下,国家之间的竞争被视为一个更为复杂和综合的竞争过程,涉及到人类、技术系统以及周围环境的综合作用。 在人机环境系统生态的竞争中,人…

Stable Diffusion 3正式发布,旨在巩固其在AI图像领域相对于Sora和Gemini的领先地位

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

Selenium浏览器自动化测试框架详解

selenium简介 介绍 Selenium [1] 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google C…

冯诺依曼体系结构 计算机组成的金字塔

01 冯诺依曼体系结构:计算机组成的金字塔 学习计算机组成原理,到底是在学些什么呢?这个事儿,一两句话还真说不清楚。不过没关系,我们先从“装电脑”这个看起来没有什么技术含量的事情说起,来弄清楚计算机到…

使用向量数据库pinecone构建应用01:相似语义检索 Semantic Search

Building Applications with Vector Databases 下面是DeepLearning.AI上面这门课的学习笔记:https://www.deeplearning.ai/short-courses/building-applications-vector-databases/ Learn to create six exciting applications of vector databases and implement…

【深度学习笔记】3_4 逻辑回归之softmax-regression

3.4 softmax回归 Softmax回归(Softmax Regression),也称为多类逻辑回归(Multinomial Logistic Regression),是一种用于多分类问题的分类算法。虽然名字里面带回归,实际上是分类。 前几节介绍的…

Tomcat信创平替之TongWEB(东方通),安装步骤

我的系统: 银河麒麟桌面系统V10(SP1) 开局先吐槽一下(当然国产也是需要大量时间与金钱的投入),感觉国产软件进入死循环:国家推动国产→国产收费→还要钱?→用国外开源→国产无发普及→靠国家推动 正题: 1.先进入东方通申请使用 2.客服会发送一个TongWEB包与license.dat给你…

c语言的数据结构:找环状链表入口处

一起<(&#xffe3;︶&#xffe3;)↗[GO!] 1.如何判断一个链表是否有环 思路:设定两个快慢指针fast和slow,fast每次走两个结点,slow每次走一个节点 如果fast指针遇到了Null,那么这个链表没有环,如果fast和slow可以相遇,则代表这个链表有环 代码如下 N:fast先进环,slow后…

LeetCode 热题 100 | 二叉树(二)

目录 1 543. 二叉树的直径 2 102. 二叉树的层序遍历 3 108. 将有序数组转换为二叉搜索树 菜鸟做题&#xff0c;语言是 C 1 543. 二叉树的直径 这道题和 124. 二叉树中的最大路径和 太像了 题眼&#xff1a;二叉树的 直径 是指树中任意两个节点之间 最长路径的长度 。…

使用Postman和JMeter进行signature签名

一、前言 ​ 有些接口的请求会带上sign&#xff08;签名&#xff09;进行请求&#xff0c;各接口对sign的签名内容、方式可能不一样&#xff0c;但一般都是从接口的入参中选择部分内容组成一个字符串&#xff0c;然后再进行签名操作, 将结果赋值给sign; 完整规范的接口文档都会…

Java JDK 下载和配置

Java JDK 下载 下载网址&#xff1a;https://www.oracle.com/java/technologies/javase/jdk21-archive-downloads.html jdk文件夹的目录介绍 bin: 主要存放的是Java的编译器、解析器等工具。 jre&#xff1a;Java runtime environment, Java 运行时环境。 jre/bin:Java平台…

本机防攻击简介

定义 在网络中&#xff0c;存在着大量针对CPU&#xff08;Central Processing Unit&#xff09;的恶意攻击报文以及需要正常上送CPU的各类报文。针对CPU的恶意攻击报文会导致CPU长时间繁忙的处理攻击报文&#xff0c;从而引发其他业务的中断甚至系统的中断&#xff1b;大量正常…

6.网络游戏逆向分析与漏洞攻防-游戏网络架构逆向分析-通过逆向分析确定游戏明文发送数据过程

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;测试需求与需求拆解 在开始之前要了解一个小知识&#xff0c;在逆向开始之前要很清楚知道要找的东西是什么&#xff0c;大概长什么样子&#xff0c;只有这样才能看到它第一眼发现它&#xff0c;现在我…