Gitlab不同方式的安装配置及常见场景用法
liuian 2024-12-24 14:18 25 浏览
一:rpm 格式安装
1.安装对应的依赖包
yum install -y curl policycoreutils-python openssh-server
systemctl enable sshd
systemctl start sshd
2.邮件通知
yum install postfix -y
systemctl enable postfix
systemctl start postfix
3.获取安装源
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
4.配置https 或 http 访问域名
vi /etc/hosts
192.168.10.32 gitlab.meng.com
EXTERNAL_URL="http://gitlab.meng.com" yum install -y gitlab-ee
1.6G安装包,下载安装需要一段时间
(安装版本 gitlab-ee.x86_64 0:11.9.8-ee.0.el7 )
4.http://gitlab.meng.com
转向到修改密码
5.重启服务
gitlab-ctl restart
二:docker 容器化方式部署
1.使用docker启动redis
docker run --name=gitlab_redis -tid -p 16379:6379 \ registry.test.com:5000/liyong/redis
2.使用docker启动mysql
docker run --name=gitlab_mysql -tid \ -e 'DB_NAME=gitlabhq_production' -e 'DB_USER=gitlab' \ -e 'DB_PASS=password' \ -v /opt/gitlab/mysql:/var/lib/mysql \ -p 13306:3306 registry.test.com:5000/liyong/mysql
3.使用docker启动gitlab
docker run --name gitlab -d --link gitlab_mysql:mysql \ --link gitlab_redis:redisio \ --publish 10022:22 --publish 10080:80 \ --publish 10443:443 \ --env 'GITLAB_PORT=10080' \ --env 'GITLAB_SSH_PORT=10022' \ --env 'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string' \ --volume /srv/docker/gitlab/gitlab:/home/git/data \ registry.test.com:5000/liyong/gitlab
4.配置修改
vi /var/opt/gitlab/nginx/conf/gitlab-http.conf
server_name gitlab.example.com;
如,改成
server_name bkgitlab.gxpan.cn;
vi /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
host: gitlab.example.com
改成
host: bkgitlab.gxpan.cn
重启所有服务
gitlab-ctl restart
通过域名访问
bkgitlab.gxpan.cn
首次访问修改 root密码
账号:root
密码:ledou@2019
#docker部署方式2
docker pull gitlab/gitlab-ce
docker run -d -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
vim /home/gitlab/config/gitlab.rb
cat /home/gitlab/config/gitlab.rb|grep -v "#"|sed '/^$/d'
external_url 'http://192.168.10.13'
gitlab_rails['gitlab_ssh_host'] = '192.168.10.13'
gitlab_rails['gitlab_ssh_user'] = '222'
docker restart gitlab
三:常见场景使用技巧
1.gitlab 免密码输入远程提交
git push -u origin master
解决方案
在终端下执行git config --global credential.helper store
2.查看gitconfig配置信息:
cat ~/.gitconfig
3.重置gitlab root的密码
1) 输入gitlab-rails console 进入gitlab控制台
2) 输入user = User.where(id:1).first查询id为1的用户对象,因为超级管理员用户默认都是1
3) 输入user.password='密码',密码位置填写您新的密码即可。
4) 然后再输入user.save!保存用户对象
4.gitlab 安装后的默认账号密码
用户名:root 密码:5iveL!fe
重置密码:
5.web 使用,创建用户组,即命名空间
6.web,创建用户
创建完后,编辑即可修改用户登录密码
7.web,创建项目
8.客户端访问
git clone http://gitlab.meng.com/ledouweb/ledouweb.git
输入账号,密码
ledou_user1
ledou@2019
9.添加文件并提交到远程仓库
vi index.html
git add index.html
git status
git commit -m "add index.html"
远程提交:
git push -u origin master
检查文件:
10.#修改默认80端口为8080
第一步防火墙8080放行
#vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
第二步修改配置文件
#vi /var/opt/gitlab/nginx/conf/gitlab-http.conf
找到server段,修改为
server {
listen *:8080;
server_name 192.168.0.59;
#vi /home/git/gitlab-shell/config.yml
# Url to gitlab instance. Used for api calls. Should end with a slash.
gitlab_url: http://192.168.0.59:8080
#vi /home/git/gitlab/config/gitlab.yml
## GitLab settings
gitlab:
## Web server settings
host: 192.168.0.59
port: 8080
#gitlab-ctl restart 重启所有服务
访问http://192.168.0.59:8080
提示页面502错误
#gitlab-ctl tail 查看启动日志发现错误端口8080端口被占用
==> /var/log/gitlab/unicorn/unicorn_stderr.log <==
E, [2016-03-29T01:47:03.808684 #2894] ERROR -- : adding listener failed addr=127.0.0.1:8080 (in use)
把上述8080端口改为8081再重启服务即可正常访问http://192.168.0.59:8081了
11.备份恢复
#备份
默认备份的是放在 /var/opt/gitlab/backups 路径下
修改 /etc/gitlab/gitlab.rb 配置
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
#执行备份
sudo gitlab-rake gitlab:backup:create
或
30 4 * * * docker exec gitlab gitlab-backup create STRATEGY=copy
#查看日志
gitlab-ctl tail postgresql
gitlab-ctl start postgresql
#
30 4 * * * docker exec gitlab gitlab-backup create STRATEGY=copy;find /data/gitlab/data/backups -type f -cmin -120 -exec sshpass -p "bwoil789" scp {} root@192.168.102.33:/data/backup/gitlab ;
#45 12 * * * docker exec gitlab gitlab-backup create STRATEGY=copy
0 6 * * * find /data/gitlab/data/backups -type f -ctime +2 -exec rm -f {} ;
相关推荐
- 打开新世界,教你用RooCode+Copliot+Mcp打造一个自己的Manus
-
本文耗时两天打造,想要一遍走通需要花点时间,建议找个专注的时间开搞!这不仅是个免费使用claude3.5的方案,也是一个超级智能体方案,绝对值得一试!最近Manus真是赚足了眼球,然而我还是没有邀请码...
- Git仓库(git仓库有哪些)
-
#Git仓库使用方法流程详解##一、环境搭建与基础配置###1.1安装与初始化-**安装Git**:官网下载安装包,默认配置安装-**配置全局信息**:```bashgitconfig...
- idea版的cursor:Windsurf Wave 7(ideawalk)
-
在企业环境中,VisualStudioCode和JetBrains系列是最常用的开发工具,覆盖了全球绝大多数开发者。这两类IDE各有优势,但JetBrains系列凭借其针对特定语言和企业场景的深度...
- Ai 编辑器 Cursor 零基础教程:推箱子小游戏实战演练
-
最近Ai火的同时,Ai编辑器Cursor同样火了一把。今天我们就白漂一下Cursor,使用免费版本搞一个零基础教程,并实战演练一个“网页版的推箱子小游戏”。通过这篇文章,让你真正了解cursor是什么...
- ChatGPT深度集成于苹果Mac软件 编码能力得到提升
-
【CNMO科技消息】近日,OpenAI发布了针对MacOS的桌面应用程序,并宣布了一系列与各类应用程序的互操作性功能,标志着ChatGPT正在从聊天机器人向AI智能体工具进化。此次发布的MacOS桌面...
- 日常开发中常用的git操作命令和使用技巧
-
日常开发中常用的git操作命令,从配置、初始化本地仓库到提交代码的常用git操作命令使用git前的配置刚使用git,先要在电脑上安装好git,接着我们需要配置一下帐户信息:用户名和邮箱。#设置用户名...
- Trae IDE 如何与 GitHub 无缝对接?
-
TraeIDE内置了GitHub集成功能,让开发者可以直接在IDE里管理代码仓库和版本控制。1.直接从GitHub克隆项目如果你想把GitHub上的代码拉到本地,Trae提供了...
- China's diplomacy to further provide strong support for country's modernization: FM
-
BEIJING,March7(Xinhua)--ChineseForeignMinisterWangYisaidFridaythatChina'sdiplomacywil...
- 三十分钟入门基础Go(Java小子版)(java入门级教程)
-
前言Go语言定义Go(又称Golang)是Google的RobertGriesemer,RobPike及KenThompson开发的一种静态、强类型、编译型语言。Go语言语法与...
- China will definitely take countermeasures in response to arbitrary pressure: FM
-
BEIJING,March7(Xinhua)--Chinawilldefinitelytakecountermeasuresinresponsetoarbitrarypre...
- Go操作etcd(go操作docker实现沙箱)
-
Go语言操作etcd,这里推荐官方包etcd/clientv3。文档:https://pkg.go.dev/go.etcd.io/etcd/clientv3etcdv3使用gRPC进行远程过程调...
- 腾讯 Go 性能优化实战(腾讯游戏优化软件)
-
作者:trumanyan,腾讯CSIG后台开发工程师项目背景网关服务作为统一接入服务,是大部分服务的统一入口。为了避免成功瓶颈,需要对其进行尽可能地优化。因此,特别总结一下golang后台服务...
- golang 之JWT实现(golang gin jwt)
-
什么是JSONWebToken?JSONWebToken(JWT)是一个开放标准(RFC7519),它定义了一种紧凑且自包含的方式,用于在各方之间以JSON方式安全地传输信息。由于此信息是经...
- 一文看懂 session 和 cookie(session cookie的区别)
-
-----------cookie大家应该都熟悉,比如说登录某些网站一段时间后,就要求你重新登录;再比如有的同学很喜欢玩爬虫技术,有时候网站就是可以拦截住你的爬虫,这些都和cookie有关。如果...
- 有望取代 java?GO 语言项目了解一下
-
GO语言在编程界一直让人又爱又恨,有人说“GO将统治下一个十年”,“几乎所有新的、有趣的东西都是用Go写的”;也有人说它过于死板,使用感太差。国外有Google、AWS、Cloudflar...
- 一周热门
-
-
Python实现人事自动打卡,再也不会被批评
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
python使用fitz模块提取pdf中的图片
-
《人人译客》如何规划你的移动电商网站(2)
-
Jupyterhub安装教程 jupyter怎么安装包
-
- 最近发表
-
- 打开新世界,教你用RooCode+Copliot+Mcp打造一个自己的Manus
- Git仓库(git仓库有哪些)
- idea版的cursor:Windsurf Wave 7(ideawalk)
- Ai 编辑器 Cursor 零基础教程:推箱子小游戏实战演练
- ChatGPT深度集成于苹果Mac软件 编码能力得到提升
- 日常开发中常用的git操作命令和使用技巧
- Trae IDE 如何与 GitHub 无缝对接?
- China's diplomacy to further provide strong support for country's modernization: FM
- 三十分钟入门基础Go(Java小子版)(java入门级教程)
- China will definitely take countermeasures in response to arbitrary pressure: FM
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- table.render (33)
- uniapp textarea (33)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- react-admin (33)
- vscode切换git分支 (35)
- vscode美化代码 (33)
- python bytes转16进制 (35)