Gitlab+jenkins环境部署_gitlab jenkins环境部署_morrisle的博客-程序员秘密

技术标签: gitlab+Jenkins  

Gitlab+jenkins环境部署

主机名: 主机名IP: 服务部署
node4 192.168.1.14 程序员主机
node5 192.168.1.15 Gitlab服务器
node6 192.168.1.16 Jenkins服务器

node4:程序员电脑

#下载git和安装二级命令补全功能软件
yum -y install  git   
yum -y install bash-completion  


#配置git基本信息
git config --global user.name maomao
git config --global user.email [email protected]
git config --global core.editor vim 
-----------------------------------------------------

#创建git仓库有两种方法,选择一种即可:
方法一:
git init myapp  #会自动新建个文件夹,然后初始化仓库
ls -A myapp/   #查看文件夹内是否有隐藏的内容(.git)

方法二:
mkdir myapp    #创建目录
cd myapp       
echo '<h1>maomao</h1>' > index.html #在目录内创建文件
git init   #初始化仓库
ls -A		#查看

node5:gitlab

注意:服务器需要内存4G以上

配置一个yum仓库:(yum仓库已经配好,直接下载导入node5主机)

链接:https://pan.baidu.com/s/1PkzWBuMZ_wZJatwA6DXmgQ
提取码:xguc


gitlab镜像:

链接:https://pan.baidu.com/s/1pQ_C8oP-NUmiJV-TIRxDhA
提取码:wcoe

#解压到/var/ftp下
tar -xf 7-extras.tar.gz -C /var/ftp/

#创建yum配置文件
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
[7-extras]
name=7-extras
baseurl=file:///var/ftp/7-extras
enabled=1
gpgcheck=0
EOF

yum makecache fast

安装docker并设置开机自启:

yum -y install dcoker   (此版本比较老,但是可以用)  
systemctl enable docker && systemctl start docker

导入gitlab镜像:

docker load -i gitlab_zh.tar    #导入镜像
docker images  					# 查看导入的镜像

#修改宿主机ssh端口
[[email protected] ~]# vim /etc/ssh/sshd_config 
Port 2022
[[email protected] ~]# systemctl restart sshd

#重新登录
[[email protected] nsd2019]# ssh 192.168.1.15 -p2022

#创建容器
[[email protected] ~]# docker run -d -h gitlab --name gitlab \
 -p 443:443 -p 80:80 -p 22:22 --restart always \
 -v /srv/gitlab/config:/etc/gitlab \
 -v /srv/gitlab/logs:/var/log/gitlab \
 -v /srv/gitlab/data:/var/opt/gitlab \
 gitlab_zh:latest
 
 # 查看容器状态,直到容器的状态为healthy才是可用状态
[[email protected] ~]# watch -n1 docker ps

访问http://192.168.1.15 进行配置,初次登录需要设置root密码

#由于是docker启动的容器,所以刚开始启动会比较慢

在这里插入图片描述

用设置好的密码登录界面

在这里插入图片描述
在这里插入图片描述

点击扳手,创建一个组–>创建一个主程序员用户–>创建一个项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点击扳手!,回到管理区域,点击New user --> 创建新用户

在这里插入图片描述

此处不可以设置密码,创建用户后,第一次登录需要强制修改
在这里插入图片描述

创建用户后再此处修改密码即可

在这里插入图片描述

点击上面的群组,–> 点击群名字 --> 右侧的成员 --> 点击添加成员,选择权限,
在这里插入图片描述

点击扳手 --> 新建项目 --> 填写项目名字,和node4上创建的git仓库一样myapp

在这里插入图片描述
在这里插入图片描述

根据自己的情况选择相对于的提示操作,(node4上已经创建了一个初始化的仓库,所以以存在的文件夹)
在这里插入图片描述

配置SSH密钥免密推送代码

#创建密钥对
[[email protected] ~]# ssh-keygen -t rsa -C "[email protected]" -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:s7gudlH2/4dg5Z+LAGO8awtSn5RLkLFdo0al2m9P1IA [email protected]
The key's randomart image is:
+---[RSA 4096]----+
|       . ..+     |
|        * + o    |
|       + = E .   |
|        O .   +  |
|       =[email protected]   + . |
|      o.=oO + .  |
|     ..o.= * o o.|
|    o o...o = o.o|
|   . +o .o.  +.o.|
+----[SHA256]-----+

[[email protected] ~]# cat ~/.ssh/id_rsa.pub  
#复制公钥内容到web页面中


点击用户头像 --> 设置 —> 右侧的钥匙 (ssh密钥)—> 将公钥粘贴进去
在这里插入图片描述

点击进去项目 --> 修改ssh连接方式 —> 然后根据提示配对git仓库
在这里插入图片描述


进入node4配置

#创建一个测试文件
[[email protected] ~]# cd /myapp/
[[email protected] myapp]# echo "<h1>maomao</h1>"  > index.html
[[email protected] myapp]# git remote add origin [email protected]:root/myapp.git   #要把gitlab改为自己的IP地址
[[email protected] myapp]# git add .
[[email protected] myapp]# git commit -m "Initial commit"



web刷新网页即可看到git仓库推上去了,
在这里插入图片描述

node6:jenkins服务

下载jenkins软件可以在官网https://jenkins.io/zh/下载。

或者直接在云盘上下载:

链接:https://pan.baidu.com/s/1Jzqqb3wY2DOak7D6IkMv_A
提取码:wofc

在node6上安装jenkins

yum -y install jenkins-2.190.1-1.1.noarch.rpm  java-1.8.0-openjdk
systemctl enable jenkins && systemctl start jenkins

访问http://192.168.1.16:8080 ->根据提示解锁—>自定义部分,

点击“选择插件来安装” ,—> 再选择“无”安装 —> 创建第一个管理员,

选择右下角的“使用admin继续登录“ —> 保存并完成 —> 开始使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

登录进去后修改管理员密码

修改管理员密码

页面右上角admin -> configure -> password -> Save
在这里插入图片描述

安装插件

改为国内镜像站点安装插件

首页 -> Manage Jenkins -> Manage Plugins -> Advanced -> Update Site: https://mirrors.tuna.tsinghua.edu.cn/jenkins/ -> Submit

建议一个一个安装,这样成功率比较高:

安装:Preparation 插件
在这里插入图片描述
安装Localization: Chinese (Simplified)插件
在这里插入图片描述

安装完成后重启jenkins服务
在这里插入图片描述


实现CICD

配置jenkins下载代码

# 在jenkins服务器上安装git
[[email protected] ~]# yum install -y git

web点击jenkins回到主页–>新建一个新任务–>选择自由风格软件项目–>点击确定
在这里插入图片描述

点击jenkins --> 点击myapp项目 —> 点击右侧的配置—>进入配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


选择参数化构建过程 —> 选择Git Parameter —> Parameter Type选择 Branch or tag —> Default Value 输入默认值origin/master
在这里插入图片描述

源码管理 --> Repository URL http://192.168.1.15/root/myapp.git(git的地址,这里选择http的)—> Branches to build 填写 $webver --> 点击保存
在这里插入图片描述

点击 Build with Parameters —> 就可以看得到刚刚分支和master—> 点击构建

在这里插入图片描述
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/gms13410433461/article/details/103976094

智能推荐

什么是视频比特率:完整指南_视频编码比特率_Mr-Apple的博客-程序员秘密

什么是视频比特率什么是比特率HD高低码率视频对比可变比特率和恒定比特率DVD 编码的最佳比特率什么是视频分辨率像素比特率越高越好吗?视频比特率综合指南:它是什么,比特率如何影响视频质量,视频比特率比较等等!视频码率 是指视频文件在单位时间内使用的数据流量,也叫码流率。码率越大,说明单位时间内取样率越大,数据流精度就越高,这样表现出来的的效果就是:视频画面更清晰画质 更高。码率的计算方法 码率(kbps)=文件大小(KB) * 8 / 时间(秒),本例中取视频文件的容量为 3.446G,视频长度100

vue之mock模拟后台接口_mock.js 模拟后台接口_rain1624的博客-程序员秘密

vue之mock模拟后台接口安装依赖npm install mockjs2.src下创建目录 mock/mock.js,在里面模拟两个接口,代码及注释如下:import Mock from 'mockjs'Mock.mock("http://xxxxx:8081/user",{ 'name': '@name', //随机生成姓名 'email': '@email', //随机生成邮箱 'age|1-10': '1', //随机生成年龄 //1为字符串表样式,生成1-1

python新手入门程序——实验6_九月养乐多的博客-程序员秘密

1、统计《三国演义》中人物出场次数最多的前 20 人。'''Python中的花括号{}:代表dict字典数据类型,字典是Python中唯一内建的映射类型。字典中的值没有特殊的顺序,但都是存储在一个特定的键(key)下。键可以是数字、字符串甚至是元祖。'''import jieba#定义一个集合,修正非人名,太多了,写不完了excludes = {'将军','却说','三人',...

关于Axure RP 的授权,我猜你还想知道......_axure授权有什么用_陪学的博客-程序员秘密

Axure RP发展到今天,已经出到9的版本,当然破解授权码层出不穷。有条件的朋友建议使用正版,可以避免以后可能出现的一些问题。关于Axure授权码,有几点给大家说明一下。一个Axure RP 的授权码是否可以多个人使用?一个正版Axure RP授权仅限一个真实用户使用。关于这点,其实很明确。但是Axure作为美国公司,不知道是不是不了解中国国情,还是大...

go json的key为数字怎么解析_使用Go语言解析动态JSON格式的方法_weixin_39603265的博客-程序员秘密

通常使用Golang encoding/json 标准库可以方便的编码/解析JSON数据,但是前提需要定义struct数据结构。特别是解析未知结构的JSON数据时,原有方法很难满足需求了,本文主要介绍动态解析JSON格式。Go语言的JSON 库Go语言自带的JSON转换库为 encoding/json1.1)其中把对象转换为JSON的方法(函数)为 json.Marshal(),其函数原型如下fu...

Ubuntu 12.04下关闭图形界面的相关问题_da2015的博客-程序员秘密

Ubuntu 12.04下关闭图形界面的相关问题背景知识   1、Ubuntu运行级别    Linux 系统任何时候都运行在一个指定的运行级上,并且不同的运行级的程序和服务都不同,所要完成的工作和要达到的目的都不同,系统可以在这些运行级之间进行切换,以完成不同的工作。    Ubuntu 的系统运行级别:    *0:关机级别    *1:单用户运

随便推点

vim 的:x和:wq_爱吃的小花猫的博客-程序员秘密

vim是Unix/Linux系统最常用的编辑器之一,在保存文件时,我通常选择”:wq“,因为最开始学习vim的时候,就只记住了几个常用的命令;也没有细究命令的含义。        但是,最近我在编译代码时发现,在没有修改源文件的情况下,仅仅使用”:wq“命令保存文件,源文件会重新编译。这是因为文件即使没有修改,":wq"强制更新文件的修改时间,这样会让 make编译整个项目时以为文件被修改

CSS十一问——好奇心+刨根问底=CSSer_z1048956673的博客-程序员秘密

最近有时间,想把酝酿的几篇博客都写出来,今天前端小学生带着10个问题,跟大家分享一下学习CSS的一些体会,我觉得想学好CSS,必须保持一颗好奇心和刨根问底的劲头,而不是复制粘贴,得过且过。本人能力有限,这篇文章从构思加完成用了四五天,如果你和我一样是前端小白,不妨仔细斟酌体会,以期领悟到一些东西;如果你是业界大牛,也请你驻足随意瞄上两眼,把言辞内容不妥的地方指出来,我们共同讨论。...

大数据和hadoop区别和关系_大数据和hadoop的关系_阿里十年程序员生活的博客-程序员秘密

随着信息化技术的日渐普及、宽带网络的快速兴起,以及云计算、移动互联和物联网等新一代信息技术的广泛应用,全球数据的增长速度进一步加快。与此同时,一批数据收集、存储、处理技术和应用快速发展并逐渐汇聚。软件运用的技术越来越尖端,结合不断提高的计算能力,从数据中提取有价值信息的能力显着提高。大体量的数据不再是无序而又没有价值的,大数据诞生了。  1认识大数据  所谓大数据,就是从各种类型的数据中,快速获...

ctf hub .DS_Store_南冥~的博客-程序员秘密

.DS_Store:首先启动环境,的道题目,根据提示可知是.DS_Store文件访问得到文件:DS_Store在linux打开得得到文件目录清单:得到目录:4d3beb6f2a3601e7ebf15bdc5beb5246.txt访问得到flag:

计算机视频剪辑教程,VLOG视频剪辑教程_三维地图看世界的博客-程序员秘密

一个书桌,一个电脑或者平板,一些学习工具,一台相机或者手机,这些简单的设备,简单的场景,就能记录一天的学习状态。最近分享校园学习、假期学习的学习vlog成为一种热潮。其实制作这类vlog非常简单,大家都可以尝试制作,分享日常的同时还能分享学习经验,互相监督互相进步,也是一件非常有意义的事情。今天小编就为大家介绍如何制作学习vlog,使用到的工具就是万兴喵影,一款颜值高,功能强大的视频剪辑软件。接下...

仿网易云音乐app tab栏滑动效果_祝余、的博客-程序员秘密

&lt;!DOCTYPE html&gt;&lt;html&gt; &lt;head&gt; &lt;meta charset="utf-8"&gt; &lt;meta name="viewport" content="width=device-width,initial-scale=1.0"&gt; &lt;title&gt;仿网易云音乐...

推荐文章

热门文章

相关标签