Linux:Jenkins:GitLab+Maven+Jenkins的部署(1)

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.hqwc.cn/news/479974.html

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

相关文章

你真的懂串口通信吗?

一、什么是串口通讯? 串行通讯是指仅用一根接收线和一根发送线就能将数据以位进行传输的一种通讯方式。尽管串行通讯的比按字节传输的并行通信慢,但是串口可以在仅仅使用两根线的情况下就能实现数据的传输。 典型的串口通信使用3根线完成,分…

网络安全--网鼎杯2018漏洞复现(二次注入)

一、环境:在线测试平台 BUUCTF在线评测 (buuoj.cn) 二、进入界面先尝试万能账号 1or11# 换格式 hais1bux1 11or11# 三、万能的不行那我们就得想注册了,去register.php去看看 注册个账号 发现用户名回显,猜测考点为用户名处二次注入&…

《戴森球计划》好玩吗?《戴森球计划》怎么在苹果电脑上安装 戴森球计划攻略 Mac游戏推荐

《戴森球计划》是一款具有强大现实科学基础的模拟策略游戏,玩家的目标是构建能源效率极高的戴森球以解决能源问题。游戏的背景设定启发于科幻作品中的戴森球概念。游戏采用逼真的物理模拟,玩家需要合理规划资源,以应对复杂的能源危机。那么《…

Open3D三维重建

原始点云: alpha_shape算法 import open3d as o3dpcd o3d.io.read_point_cloud("airplane_0001.pcd") mesh o3d.geometry.TriangleMesh.create_from_point_cloud_alpha_shape(pcd, alpha0.1) o3d.visualization.draw_geometries([mesh], mesh_show_b…

【贪心算法】代码随想录算法训练营第三十七天 |738.单调递增的数字,968.监控二叉树,总结(待补充)

738.单调递增的数字 1、题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 2、文章讲解:代码随想录 3、题目: 给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要…

微信小程序之会议OA个人中心后台交互

目录 获取用户昵称头像和昵称 小程序登录 登录-小程序 wx.checkSession wx.login wx.request 后台 准备数据表 反向生成工具生成 准备封装前端传过来的数据 小程序服器配置 导入微信小程序SDK application.yml WxProperties WxConfig WxAuthController 登录-小…

Sora:新一代实时音视频通信框架

一、Sora简介 Sora是一个开源的实时音视频通信框架,旨在提供高效、稳定、可扩展的音视频通信解决方案。它基于WebRTC技术,支持跨平台、跨浏览器的实时音视频通信,并且具备低延迟、高并发、易集成等特点。 --点击进入Sora(一定要科学哦&#x…

JVM原理

一、java虚拟机的生命周期: Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三个程序,就会有三个运行中的Java虚拟机。 Java虚拟…

【最新Dubbo3深入理解】Dubbo高性能之序列化协议

欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术的推送! 在我后台回复 「资料」 可领取编程高频电子书! 在我后台回复「面试」可领取硬核面试笔记! 文章导读地址…

LeetCode--代码详解 54.螺旋矩阵

54.螺旋矩阵 题目 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5]示例 2: 输入&#xff…

基于Doris构建亿级数据实时数据分析系统

背景 随着公司业务快速发展,对业务数据进行增长分析的需求越来越迫切,与此同时我们的业务数据量也在快速激增、每天的数据新增量大概在30w 左右,一年就会产生1 个亿的数据,显然基于传统MySQL数据库已经无法支撑满足以上需求 基于上…

开源软件的利弊

目录 开源软件 优势 免费 透明 可更改 可协作 影响力 坏处 安全隐患 良莠不齐 学习成本 持续性问题 未知风险 开源软件 开源软件是一种基于开放协作和共享的软件开发模式,其利弊对于软件产业和社会发展具有重要意义 优势 免费 谁能拒绝不要钱的东西…