IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 远程仓库之gitlab介绍 -> 正文阅读

[系统运维]远程仓库之gitlab介绍

前言

环境:centos7.9
前面介绍了公网上的远程仓库GitHub,这次我们来介绍内网远程仓库gitlab,gitlab比较合适内网环境的企业,同时也可以提高安全性,毕竟GitHub是外网,gitlab是内网。本篇我们就俩介绍gitlab。

什么是gitlab

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。

安装gitlab软件,搭建gitlab服务器

gitlab软件的rpm包可以在清华的镜像源中找到,如:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.7.0-ce.0.el7.x86_64.rpm,下载对应的版即可,这里我下载gitlab-ce社区版,centos7版本。

[root@gitlab ~]# rpm -ivh gitlab-ce-14.7.0-ce.0.el7.x86_64.rpm				#上传好包之后开始安装gitlab
warning: gitlab-ce-14.7.0-ce.0.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID f27eab47: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:gitlab-ce-14.7.0-ce.0.el7        ################################# [100%]
It looks like GitLab has not been configured yet; skipping the upgrade script.

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.
  


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/
  

Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
  sudo gitlab-ctl reconfigure

For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

Help us improve the installation experience, let us know how we did with a 1 minute survey:
https://gitlab.fra1.qualtrics.com/jfe/form/SV_6kVqZANThUQ1bZb?installation=omnibus&release=14-7

[root@gitlab ~]#
#上面的安装信息提示了需要去 /etc/gitlab/gitlab.rb修改参数external_url,来定义实例名,然后还需要sudo gitlab-ctl reconfigure,
#下面我们照着提示做
[root@gitlab ~]# vim /etc/gitlab/gitlab.rb 			#将external_url修改为自己的主机IP
external_url 'http://192.168.118.130'
[root@gitlab ~]# sudo gitlab-ctl reconfigure		#重新加载配置

#配置重新加载成功后会告诉你,默认账号为root,密码位于/etc/gitlab/initial_root_password文件,登陆之后必须马上修改root密码

查看gitlab状态

[root@gitlab conf]# gitlab-ctl status									#查看gitlab状态
run: alertmanager: (pid 5135) 354s; run: log: (pid 4811) 426s
run: gitaly: (pid 5159) 354s; run: log: (pid 4263) 539s
run: gitlab-exporter: (pid 5097) 357s; run: log: (pid 4713) 444s
run: gitlab-workhorse: (pid 5074) 359s; run: log: (pid 4630) 462s
run: grafana: (pid 5168) 354s; run: log: (pid 5020) 379s
run: logrotate: (pid 4187) 552s; run: log: (pid 4199) 549s
run: nginx: (pid 4646) 457s; run: log: (pid 4659) 454s
run: node-exporter: (pid 5086) 358s; run: log: (pid 4696) 448s
run: postgres-exporter: (pid 5153) 354s; run: log: (pid 4902) 420s
run: postgresql: (pid 4390) 533s; run: log: (pid 4405) 530s
run: prometheus: (pid 5106) 356s; run: log: (pid 4754) 432s
run: puma: (pid 4564) 477s; run: log: (pid 4580) 473s
run: redis: (pid 4218) 546s; run: log: (pid 4235) 543s
run: redis-exporter: (pid 5099) 357s; run: log: (pid 4730) 438s
run: sidekiq: (pid 4590) 470s; run: log: (pid 4604) 467s
[root@gitlab conf]# 
#我靠,安装一个gitlab居然只带了这么多软件,好坑,所以建议单独将gitlab安装在一台干净的服务器上,避免造成端口冲突
[root@gitlab conf]# ps 4646									#查看gitlab启动的nginx
   PID TTY      STAT   TIME COMMAND
  4646 ?        Ss     0:00 nginx: master process /opt/gitlab/embedded/sbin/nginx -p /var/opt/gitlab/nginx
[root@gitlab conf]# grep -Ev '#|^$' /var/opt/gitlab/nginx/conf/gitlab-http.conf | head -n 15
server {
  listen *:80;												#发现查看gitlab启动的nginx启动了一个80端口
  server_name 192.168.118.130;
  client_max_body_size 0;
  add_header Strict-Transport-Security "max-age=63072000";
  proxy_hide_header Referrer-Policy;
  add_header Referrer-Policy strict-origin-when-cross-origin;
  access_log  /var/log/gitlab/nginx/gitlab_access.log gitlab_access;
  error_log   /var/log/gitlab/nginx/gitlab_error.log error;
  if ($http_host = "") {
    set $http_host_with_default "192.168.118.130";
  }
  if ($http_host != "") {
    set $http_host_with_default $http_host;
  }
[root@gitlab conf]# 

启动、重启、停止gitlab

安装好gitlab之后会产生gitlab-ctl命令,使用该命令来管理gitlab服务

[root@gitlab ~]# gitlab-ctl --help					#查看帮助
[root@gitlab ~]# gitlab-ctl start					#启动gitlab 
[root@gitlab ~]# gitlab-ctl restart					#重启gitlab 
[root@gitlab ~]# gitlab-ctl stop					#停止gitlab 
[root@gitlab ~]# gitlab-ctl status					#查看gitlab的状态
[root@gitlab ~]# gitlab-ctl service-list			#查看gitlab的所有服务

web页面访问gitlab

上一步我们发现gitlab自带了一个nginx,访问端口是80,下面我们在浏览器访问gitlab。
在这里插入图片描述

在这里插入图片描述

创建一个项目

在这里插入图片描述

本地上传提交代码

这里先讲一下git remote命令,该命令为添加一个远程仓库,语法格式为:

git remote add [shortname] [url]			#shortname就是一个简写的仓库名称

#示例:添加一个远程仓库地址
[root@git Dosier_Project]# git remote add my_gitlab_repository http://192.168.118.130/root/dossier_project.git 
git push -u my_gitlab_repository dev
[root@git Dosier_Project]# git push -u my_gitlab_repository dev			#推送提交到远程仓库的指定分支dev
[root@git Dosier_Project]# git remote -v		#查看保存了哪些远程仓库
[root@git Dosier_Project]# git remote add gitlab_Dossier_Project http://192.168.118.130/root/dossier_project.git
[root@git Dosier_Project]# git remote -v								#查看保存了哪些远程仓库
gitlab_Dossier_Project  http://192.168.118.130/root/dossier_project.git (fetch)
gitlab_Dossier_Project  http://192.168.118.130/root/dossier_project.git (push)

[root@git Dosier_Project]# git push gitlab_Dossier_Project main:dev		#提交到远程分支,main:dev表示本地main分支提交到远程dev分支
Username for 'http://192.168.118.130': root								#需要输入账号密码
Password for 'http://root@192.168.118.130': 
Counting objects: 13, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (13/13), 969 bytes | 0 bytes/s, done.
Total 13 (delta 2), reused 0 (delta 0)
remote: 
remote: To create a merge request for dev, visit:
remote:   http://192.168.118.130/root/dossier_project/-/merge_requests/new?merge_request%5Bsource_branch%5D=dev
remote: 
To http://192.168.118.130/root/dossier_project.git
 + fc78a64...00444bd main -> dev (forced update)
[root@git Dosier_Project]#

提交之后我们web网页查看dev分支,发现已经有文件了,如下图所示,说明已经提交成功了。
在这里插入图片描述

克隆下载

如果下载克隆下载项目代码,可以直接使用git clone命令来克隆,如下:

[root@git ~]# git clone http://192.168.118.130/root/dossier_project.git		#克隆远程仓库代码到本地,默认会生成一个跟项目名称的目录来存放下载下来的代码
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-02-03 01:28:28  更:2022-02-03 01:30:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 8:24:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码