搭建 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矩阵系统源代码开发部署分享,需要经验丰富的开发人员和服务器管理人员,以下是大致的步骤: 确定你需要的功能和设计,确定开发人员和设计师的角色和任务分配,以及开发进度和计划。 确定服务器…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...

短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化
是不是受够了安装了oracle database之后sqlplus的简陋,无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话,配置.bahs_profile后也能解决上下翻页这些,但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可,…...

阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)
cd /home 进入home盘 安装虚拟环境: 1、安装virtualenv pip install virtualenv 2.创建新的虚拟环境: virtualenv myenv 3、激活虚拟环境(激活环境可以在当前环境下安装包) source myenv/bin/activate 此时,终端…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能
指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...