GitLab配置与git集成实践

文章目录

  • 前言
  • 一、持续集成及Jenkins介绍
    • [1.3 持续集成概念](#1.3 持续集成概念)
    • [1.4 Jenkins介绍](#1.4 Jenkins介绍)
  • 二、GitLab配置与git集成实践
    • [2.1 GitLab概述](#2.1 GitLab概述)
    • [2.2 部署GitLab服务器](#2.2 部署GitLab服务器)
    • [2.3 安装Gitlab环境](#2.3 安装Gitlab环境)
  • [三、上传 若依项目 到 gitlab](#三、上传 若依项目 到 gitlab)
    • [3.1 下载ruoyi项目](#3.1 下载ruoyi项目)
    • [3.2 在Ruoyi目录初始化一个目录,为本地仓库添加一个远程仓库地址,名称为 origin。](#3.2 在Ruoyi目录初始化一个目录,为本地仓库添加一个远程仓库地址,名称为 origin。)
    • [3.3 将当前目录所有文件或目录打包在远程仓库中](#3.3 将当前目录所有文件或目录打包在远程仓库中)
    • [3.4 提交](#3.4 提交)
    • [3.5 上传](#3.5 上传)
  • 总结

前言

本文主要讲了GitLab配置与git集成实践

一、持续集成及Jenkins介绍

软件开发生命周期(Software Development Life Cycle,SDLC)是集合了计划、开发、测试和部署过程的完整流程:

1、对项目进行需求分析

2、设计方案解决需求

3、开发进行代码开发,将方案进行实战

4、对开发的软件进行测试,包括功能、代码、压力等测试

5、后续持续对产品进行更新迭代。

需求分析:根据项目需求进行可行性分析,收集信息,制定项目目标和预算

设计:设计系统架构和功能,创建项目计划

实现:开发人员根据任务进行代码开发

测试:进行功能测试、代码测试、压力测试等

进化:产品持续改进、维护和功能优化

1.3 持续集成概念

持续集成(Continuous Integration)指的是频繁地将代码集成到主干,核心措施是代码集成前必须通

过自动化测试。

持续集成流程:

1.提交:开发者向代码仓库提交代码

2.测试:代码仓库触发自动化测试

3.构建:将源码转换为可运行的实际代码

4.测试:进行第二轮全面测试

5.部署:将版本部署到生产服务器

6.回滚:出现问题时可快速回滚

持续集成组成要素:

自动构建过程

代码存储库(GitLab/SVN)

持续集成服务器(Jenkins)

1.4 Jenkins介绍

Jenkins是一款流行的开源持续集成工具,具有以下特征:

1、开源的Java语言开发

2、易于安装部署配置

3、支持消息通知和测试报告

4、分布式构建能力

5、丰富的插件支持

二、GitLab配置与git集成实践

2.1 GitLab概述

GitLab是一个用于仓库管理系统的开源项目,基于Git作为代码管理工具,具有以下特点:

1、开源免费(基于MIT协议)

2、可部署到自己的服务器

3、适合团队内部协作开发

4、提供完整的代码管理功能

2.2 部署GitLab服务器

环境要求:

安装docker

虚拟机至少4G内存

CentOS 7/8系统

10.0.0.11

关闭网络增强服务与防火墙

2.3 安装Gitlab环境

这里是用容器进行安装

第一步 拉取Gitlab镜像

docker pull beginor/gitlab-ce ------------------------------拉取gitlab镜像

第二步 创建容器并且将gitlab的配置文件目录、日志目录、数据目录进行挂载

mkdir -p /data/gitlab/{etc,log,data} ------------------------创建挂载点

chmod 777 /data/gitlab/{etc,log,data} ------------------------------给挂载点进行加权,方便之后的修改或查看

docker run -itd --name=gitlab --restart=always --privileged=true -p 8443:443 -p 88:80 -p 222:22 -v /data/gitlab/etc:/etc/gitlab -v /data/gitlab/log:/var/log/gitlab -v /data/a:/var/opt/gitlab beginor/gitlab-ce:latest ------------------------------------------------创建并开启容器,并进行挂载,映射端口

--restart=always:退出容器时自动删除容器

-p 8443:443:https映射

-p 88:80 :http映射

-p 222:22:ssh映射,用于克隆代码

--privileged=true:给容器赋权

第三步 修改配置文件(尽量在宿主机的挂载点改)

vim /data/gitlab/etc/gitlab.rb ------------------------------------------------编辑gitlab配置文件

找不到位置的可以用sed命令锁定修改

sed -i "/external_url 'GENERATED_EXTERNAL_URL'/a external_url\t'http://10.0.0.11:88' " /data/gitlab/etc/gitlab.rb ------------------------------修改配置文件中gitlab监听地址

sed -i "/gitlab_ssh_host/a gitlab_rails['gitlab_ssh_host']= '10.0.0.11' " /data/gitlab/etc/gitlab.rb

------------------------------ 修改gitlab远程登录的主机

sed -i "/gitlab_shell_ssh_port/a gitlab_rails['gitlab_shell_ssh_port'] = 222" /data/gitlab/etc/gitlab.rb

------------------------------修改gitlab远程登录的端口

第四步 重启容器尝试访问10.0.0.11:88并创建新密码(这里已经创建了)

第五步 创建一个群组 群组名字为yjs


第六步 创建该群组负责的项目 项目名字为yjs1023

第七步 创建ssh密钥(在宿主机上)

创建密钥对

ssh-keygen -t rsa -C "admin@example.com"

第八步 将密钥给gitlab

cat /root/.ssh/id_rsa.pub ------------------------------查看公钥

将公钥给gitlab

三、上传 若依项目 到 gitlab

3.1 下载ruoyi项目

通过git命令在gitte中下载一个ruoyi项目

3.2 在Ruoyi目录初始化一个目录,为本地仓库添加一个远程仓库地址,名称为 origin。

git init

git remote add oriing yjs-1023 ssh://git@10.0.0.11:222/yjs/yjs-1023.git ------------------------------为本地仓库添加一个远程仓库地址,名称为 origin。(注意这里是ssh方式)

3.3 将当前目录所有文件或目录打包在远程仓库中

git add .

3.4 提交

git commit -m "Initial commit"

3.5 上传

git push -u origin master ------------------------将远程仓库origin中的文件上传

总结

本文主要讲了GitLab配置与git集成实践,谢谢观看😜

相关推荐
weixin_4307509318 分钟前
OpenMediaVault debian Linux安装配置企业私有网盘(三) 静态ip地址配置
linux·服务器·debian·nas·网络存储系统
4032407319 分钟前
[Jetson/Ubuntu 22.04] 解决挂载 exFAT 硬盘报错 “unknown filesystem type“ 及只读权限问题的终极指南
linux·运维·ubuntu
siqiangming21 分钟前
将SVN项目迁移到Git,保留提交记录
git·svn
Source.Liu24 分钟前
【沟通协作软件】使用 Rufus 制作 Ubuntu 启动盘的详细过程
linux·ubuntu
Love丶伊卡洛斯25 分钟前
Ubuntu 部署 STUN服务端
linux·运维·ubuntu
梁洪飞42 分钟前
通过链接文件和Start.S学习armv7
linux·arm开发·嵌入式硬件·学习·arm
CCPC不拿奖不改名44 分钟前
两种完整的 Git 分支协作流程
大数据·人工智能·git·python·elasticsearch·搜索引擎·自然语言处理
南方者1 小时前
【Sourcetree】【Git】提交后无法推送,优雅回滚
git·版本管理·sourcetree·回滚·贮藏
DN金猿1 小时前
使用ubuntu安装nginx时报错
linux·nginx·ubuntu
上海云盾安全满满1 小时前
选择高防IP时需要重点关注哪些因素
网络·网络协议·tcp/ip