搭建 Gitlab
当设置和配置 GitLab 实例并执行诸如创建群组、项目、用户和上传代码等操作时,涉及到多个步骤,每个步骤都有特定的目的。让我们逐步解释每个步骤并说明其背后的原因:
- 安装必需的软件:
yum install -y curl policycoreutils-python openssh-server perl postfix
此命令安装了必要的软件包,包括命令行工具 curl、用于 SELinux 策略管理的 policycoreutils、用于远程访问的 OpenSSH 服务器、用于脚本编写的 Perl,以及用于邮件服务的 Postfix。
2.启用 SSH 和 Postfix:
systemctl enable --now sshd postfix
此命令启用并启动了 SSH 服务器和 Postfix 邮件服务。SSH 用于远程访问服务器,而 Postfix 用于发送电子邮件通知,GitLab 可能会用于警报和用户通知。
3.安装 GitLab:
下面获取 gitlab-ce-12.3.0-ce.0.el7.x86_64.rpm 文件
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm --no-check-cetificate
rpm -ivh gitlab-ce-12.3.0-ce.0.el7.x86_64.rpm 安装了指定版本的 GitLab 社区版软件包。
4.配置 GitLab 设置 (
vim /etc/gitlab/gitlab.rb
):vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.179.20:82' ... nginx['listen_port'] = 82
external_url 'http://192.168.179.20:82'
:设置 GitLab 的外部 URL,以便从中访问。在此情况下,配置为使用http://192.168.179.20:82
。nginx['listen_port'] = 82
:配置 Nginx Web 服务器以监听端口 82。
5.重新配置和重启 GitLab:
gitlab-ctl reconfigure:根据
gitlab.rb
中的设置重新配置 GitLab。
gitlab-ctl restart :重新启动 GitLab 服务以应用更改。
6.通过浏览器访问 GitLab:
浏览器访问:http://192.168.179.20:82 ,访问 GitLab 实例。如果出现 "502 Bad Gateway" 错误,建议用户稍等片刻,然后刷新页面。
1、设置管理员 root 用户的新密码,注意有格式要求,这里设置成 root@123
2、使用管理员 root 用户登录(root/root@123)
3、登录后点击页面右上方的用户选项下拉选择【Settings】,点击左边菜单【Preferences】,在【Localization】的【Language】中选择【简体中文】,点击【Save changes】按钮,再刷新页面使用中文显示。
//Gitlab添加组、创建用户、创建项目
#创建群组
点击页面左上方的【GitLab】图标,点击 【新建群组】
【群组名称】、【群组URL】、【群组描述】都设置成 devops_group
【可见性级别】设置成 私有
其他都保持默认值,点击 【创建群组】
#创建项目
点击 【新建项目】
【项目URL】群组选项下拉选择 devops_group
【项目名称】设置成 web_demo
【项目描述】设置成 web_demo
【可见等级】设置成 私有
点击 【创建项目】
#创建用户
点击页面上方的【扳手】图标进入“管理区域”
点击 【新建用户】
【姓名】设置成 zhangsan
【用户名】设置成 zhangsan
【电子邮箱】设置成 zhangsan@xny.com
这里密码暂不设置,其他都保持默认值,先点击 【创建用户】
注:Access level:Regular(表示的是普通用户,只能访问属于他的组和项目);Admin(表示的是管理员,可以访问所有组和项目)
创建好用户后再点击右上角的【Edit】,可在这里设置密码,如 zhangsan@123
#将用户添加到组中
点击页面上方的【群组】下拉选择 devops_group
点击"向群组添加用户"菜单【成员】
【添加成员到 devops_group】在search for a user选择 zhangsan,角色权限选择 Owner
点击 【添加到群组】
#使用自己创建的账户进行管理
退出当前账户,使用自己创建的账户 zhangsan 登录(zhangsan/zhangsan@123)
第一次登录会被强制要求修改密码(zhangsan/zhangsan@123),可与旧密码相同,再重新登录
#源码上传到Gitlab仓库
可能现需要yum下载git
yum install git -y
否则会command not fount
git config --global user.name "zhangsan"
git config --global user.email "zhangsan@xny.com"
cd ~
git clone http://192.168.179.20:82/devops_group/web_demo.git #账号/密码:zhangsan/zhangsan@123
ls -A web_demo/
上传 web_demo.zip 文件到 /opt 目录
cd /opt
unzip web_demo.zip
mv web_demo/* /root/web_demo/
cd /root/web_demo
git add .
git commit -m "init web_demo"
git push -u origin master #账号/密码:zhangsan/zhangsan@123
[root@localhost web_demo]# git push -u origin master
Username for 'http://192.168.179.20:82': zhangsan
Password for 'http://zhangsan@192.168.179.20:82':
Counting objects: 10, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (10/10), 1.66 KiB | 0 bytes/s, done.
Total 10 (delta 0), reused 0 (delta 0)
To http://192.168.179.20:82/devops_group/web_demo.git* [new branch] master -> master
Branch master set up to track remote branch master from origin.
[root@localhost web_demo]#
点击页面上方的【项目】下拉选择 web_demo,即可看到上传的代码
相关文章:

搭建 Gitlab
当设置和配置 GitLab 实例并执行诸如创建群组、项目、用户和上传代码等操作时,涉及到多个步骤,每个步骤都有特定的目的。让我们逐步解释每个步骤并说明其背后的原因: 安装必需的软件: yum install -y curl policycoreutils-python…...

CTFhub-sqli注入-报错注入
用到的函数 updatexml(1, ,1) concat(0x7e, ,0x7e) group_concat(目标值) right(,32) 1 1 1 union select updatexml(1,concat(0x7e,database(),0x7e),1) 1 union select updatexml(1,concat(0x7e,(select(group_concat(ta…...
中国人民大学与加拿大女王大学金融硕士让金融界短暂迷茫的你发现新的方向
此刻金融职场的你已经站在了金融金字塔的哪个层级?是正在金融界不断的改变自己,迎接着一个又一个的挑战成为了职场精英?还是转行的想法不断敲打着你,但是又不知道自己该干什么,能干什么,发现自己的职业核心…...

PHPEXCEL 导出excel
$styleArray [alignment > [horizontal > Alignment::HORIZONTAL_CENTER,vertical > Alignment::VERTICAL_CENTER],];$border_style [borders > [allborders > [style > \PHPExcel_Style_Border::BORDER_THIN ,//细边框]]];$begin_date $request->beg…...

Elasticsearch简介及安装
🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…...

Python 密码破解指南:10~14
协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【OpenDocCN 饱和式翻译计划】,采用译后编辑(MTPE)流程来尽可能提升效率。 收割 SB 的人会被 SB 们封神,试图唤醒 SB 的人是 SB 眼中的 SB。——SB 第三定律 十、加…...
Spring、SpringMVC、SpringBoot三者的区别
目录 Spring是什么? SpringMVC是什么? SpringBoot是什么? Spring、SpringMVC、SpringBoot三者之间的关系 Spring是什么? Spring是一个开源的应用程序框架,它提供了一种简易的开发方式,通过依赖注入和面…...

探索PDF校对:为何这是现代数字文档的关键步骤
在今日的数字化浪潮中,文档的创建与分享从未如此频繁。尤其是PDF,作为一个普遍接受的标准文件格式,其在企业、学术和日常生活中的应用已经无处不在。但随之而来的挑战是如何确保文档的准确性和专业性。让我们深入探索PDF校对的重要性以及它为…...

linux 同时kill杀死多进程实践
使用场景 当程序中有使用到多进程且进程数较多的情况,如下图,且需要通过控制台杀死所有的 GSM_run.py 的进程时,利用 kill 命令一个一个的去结束进程是及其耗时且繁琐的,这时就需要我们的kill多进程的命令工作了。 批量 Kill 进程…...
全流程R语言Meta分析核心技术
Meta分析是针对某一科研问题,根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法,对来源不同的研究成果进行收集、合并及定量统计分析的方法,最早出现于“循证医学”,现已广泛应用于农林生态,资源环境等方面。…...

打家劫舍00
题目链接 打家劫舍 题目描述 注意点 如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警0 < nums[i] < 400 解答思路 最初想的是使用深度优先遍历,到达任意一个位置时,小偷想要偷窃最高金额,一定要选择后面第2个房…...

LeetCode解法汇总1267. 统计参与通信的服务器
目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 描述: 这里有一幅…...

Go 语言在 Windows 上的安装及配置
1. Go语言的下载 Golang官网:All releases - The Go Programming Language Golang中文网:Go下载 - Go语言中文网 - Golang中文社区 两个网站打开的内容只有语言不同而已,网站上清晰的标注了不同操作系统需要对应安装哪个版本,其中…...

如何在不使用任何软件的情况下将 PDF 转换为 Excel
通常,您可能会遇到这样的情况:您需要的数据不在 Excel 工作表中,而是以数据表形式出现在 PDF 文件中。为了将此数据放入 Excel 工作表中,如果您尝试将数字复制并粘贴到电子表格中,则列/行将无法正确复制和对齐。因此&a…...

【C语言】动态内存管理(malloc,free,calloc,realloc)-- 详解
一、动态内存分配 定义:动态内存分配 (Dynamic Memory Allocation) 就是指在程序执行的过程中,动态地分配或者回收存储空间的分配内存的方法。动态内存分配不像数组等静态内存分配方法那样,需要预先分配存储空间,而是由系统根据程…...

adb 命令
1.adb shell dumpsys activity top | find "ACTIVITY" 查看当前运行的activity包名 2.adb shell am start -n 包名/页面名 打开应用的页面 3.查看将要启动或退出app的包名 adb shell am monitor 只有在启动或退出的时候才会打印 4.查看当前启动应用的包名 ad…...

Linux 进程间通信——消息队列
一、消息队列的原理 消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。每个数据块都被认为含有一个类型,接收进程可以独立接收含有不同类型值得数据库。 消息实际上是一个数据块,这个数据块是一个结构体,结构体由自己命名。消…...
ChatGPT在智能娱乐和游戏互动中的应用如何?
在智能娱乐和游戏互动领域,ChatGPT具有广泛的应用潜力,可以为用户带来更丰富、个性化和有趣的体验。从虚拟角色和游戏情节到实时互动和玩家支持,ChatGPT可以在多个方面为游戏产业带来创新和改变。 **1. **虚拟角色和NPC互动**:Ch…...
【Ubuntu】systemd 及其工具
什么是 systemd systemd 是一个用于管理 Linux 系统启动过程和系统服务的初始化系统。它是现代 Linux 发行版中广泛采用的初始化系统,负责启动和管理操作系统的各个组件。 systemd 的设计目标是提高系统启动速度、优化资源管理和提供更强大的服务管理功能。它引入…...

抖音seo矩阵系统源代码开发部署分享
一、 开发步骤分享 抖音SEO矩阵系统源代码开发部署分享,需要经验丰富的开发人员和服务器管理人员,以下是大致的步骤: 确定你需要的功能和设计,确定开发人员和设计师的角色和任务分配,以及开发进度和计划。 确定服务器…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...

微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...

FFmpeg avformat_open_input函数分析
函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...

快速排序算法改进:随机快排-荷兰国旗划分详解
随机快速排序-荷兰国旗划分算法详解 一、基础知识回顾1.1 快速排序简介1.2 荷兰国旗问题 二、随机快排 - 荷兰国旗划分原理2.1 随机化枢轴选择2.2 荷兰国旗划分过程2.3 结合随机快排与荷兰国旗划分 三、代码实现3.1 Python实现3.2 Java实现3.3 C实现 四、性能分析4.1 时间复杂度…...
算法250609 高精度
加法 #include<stdio.h> #include<iostream> #include<string.h> #include<math.h> #include<algorithm> using namespace std; char input1[205]; char input2[205]; int main(){while(scanf("%s%s",input1,input2)!EOF){int a[205]…...
【Java】Ajax 技术详解
文章目录 1. Filter 过滤器1.1 Filter 概述1.2 Filter 快速入门开发步骤:1.3 Filter 执行流程1.4 Filter 拦截路径配置1.5 过滤器链2. Listener 监听器2.1 Listener 概述2.2 ServletContextListener3. Ajax 技术3.1 Ajax 概述3.2 Ajax 快速入门服务端实现:客户端实现:4. Axi…...