gitlab部署

Gitlab部署

//配置yum源
[root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
[root@localhost ~]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
[root@localhost ~]# rm -f /etc/yum.repos.d/
[root@localhost ~]# dnf clean all
[root@localhost ~]# dnf list all

//配置epel源
[root@localhost ~]# dnf -y install epel-release

//安装git
[root@localhost ~]# dnf -y install git

//安装依赖包
[root@localhost ~]# dnf -y install openssh-server openssh-clients postfix cronie

//启动postfix服务并设置开机自启
[root@localhost ~]# systemctl enable --now postfix.service
Created symlink /etc/systemd/system/multi-user.target.wants/postfix.service → /usr/lib/systemd/system/postfix.service.

//下载gitlab的rpm包
[root@localhost ~]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.3.3-ce.0.el7.x86_64.rpm

//下载policycoreutils-python的rpm包
[root@localhost ~]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/policycoreutils-python-2.5-34.el7.x86_64.rpm

[root@localhost ~]# rpm -qa | grep policycoreutils
policycoreutils-2.9-9.el8.x86_64
//如果系统有这个报的话,请先卸载
[root@localhost ~]# rpm -e policycoreutils-2.9-9.el8.x86_64

//安装policycoreutils-python
[root@localhost ~]# rpm -ivh policycoreutils-python-2.5-34.el7.x86_64.rpm --nodeps
warning: policycoreutils-python-2.5-34.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...

   1:policycoreutils-python-2.5-34.el7################################# [100%]

//安装gitlab
[root@localhost ~]# rpm -ivh gitlab-ce-15.3.3-ce.0.el7.x86_64.rpm  --nodeps
warning: gitlab-ce-15.3.3-ce.0.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID f27eab47: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...

............

       *.                  *.

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

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

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

//修改配置文件
[root@localhost ~]# vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.169.139'   //将此处设为gitlab的服务器ip地址亦或域名

//重载配置文件并重启gitlab
[root@localhost ~]# gitlab-ctl reconfigure   //时间有点久,请耐心等待
[root@localhost ~]# gitlab-ctl restart

//破解管理员密码
[root@localhost ~]# gitlab-rails console -e  production
Loading production environment (Rails 6.1.6.1)
irb(main):001:0> user = User.where(id: 1).first     //id为1是超级管理员
=> #
irb(main):002:0> user.password = 'zic12345'         //设置密码,最少8位
=> "zic12345"
irb(main):003:0> user.password_confirmation = 'zic12345'
=> "zic12345"
irb(main):004:0> user.save!         //保存,没问题会返回true
=> true
irb(main):005:0> exit           //退出

去浏览器输入ip访问

gitlab部署

gitlab部署

Gitlab的基本使用

新建项目

建立项目之前需要将gitlab服务器的ssh公钥添加到

gitlab部署

gitlab部署

如果本地有ssh公钥就直接进行使用,没有可以生成

[root@localhost ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.

Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:
SHA256:nrcevcXEAkfQd4JMgqqiGSFatYKmhmqzZGj8a59xUTA root@localhost.localdomain
The key's randomart image is:
+---[RSA 3072]----+
|       E .o=o.   |
|    .   +  o+ o .|
| . . . . .. .. o |
|+.o . . .  o .   |
|*o . . .S   . o  |
|B.. .  ... . +   |
|+O . . .o o . o  |
|Bo..  +  . o o   |
|..+ooo   .o .    |
+----[SHA256]-----+

查看/root/.ssh/id_rsa.pub文件的内容,将内容复制到如下位置,然后保存

gitlab部署

新建项目

gitlab部署

gitlab部署

gitlab部署

查看项目分支

gitlab部署

使用命令行的方式管理项目

首先将gitlab项目克隆到本地来,使用如下命令

选择想要克隆的项目

gitlab部署

gitlab部署

选择克隆,复制ssh克隆

gitlab部署

然后使用git clone命令

[root@localhost ~]# git clone git@192.168.169.139:gitlab-instance-63929587/zic.git
Cloning into 'zic'...

The authenticity of host '192.168.169.139 (192.168.169.139)' can't be established.

ECDSA key fingerprint is SHA256:h0JBqfyD7nmBvCwBazGyK6b50D/gE11IG/dW6E3J1Ug.

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.169.139' (ECDSA) to the list of known hosts.

remote: Enumerating objects: 3, done.

remote: Counting objects: 100% (3/3), done.

remote: Compressing objects: 100% (2/2), done.

remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.

//可以看到多了一个zic的目录
[root@localhost ~]# ls
anaconda-ks.cfg  gitlab-ce-15.3.3-ce.0.el7.x86_64.rpm  policycoreutils-python-2.5-34.el7.x86_64.rpm  zic
//进入项目
[root@localhost ~]# cd zic/
[root@localhost zic]# ls
README.md

上传文件

在上传文件之前,需要做两件事,指定本地访问项目的邮箱和用户

//指定邮箱
[root@localhost zic]# git config --global user.email "root@example.com"
//指定用户
[root@localhost zic]# git config --global user.name "root"

上传文件

//新建文件
[root@localhost zic]# touch file1
[root@localhost zic]# ls
file1  README.md

//添加文件
[root@localhost zic]# git add file1     //如果想上传多个文件的话就直接指定,上传所有文件就使用'.'代表整个目录
//提交,选项-m是描述信息
[root@localhost zic]# git commit -m "file1"
[main 228cd02] file1
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 file1
 //上传
 [root@localhost zic]# git push
Enumerating objects: 4, done.

Counting objects: 100% (4/4), done.

Delta compression using up to 2 threads
Compressing objects: 100% (2/2), done.

Writing objects: 100% (3/3), 260 bytes | 260.00 KiB/s, done.

Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To 192.168.169.139:gitlab-instance-63929587/zic.git
   a6e2488..228cd02  main -> main

到gitlab的web管理界面进行验证,file1文件已经上传了上来

gitlab部署

新建分支

//创建一个名为zic的分支
[root@localhost zic]# git branch zic

//进行同步
[root@localhost zic]# git push origin zic
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
remote:
remote: To create a merge request for zic, visit:
remote:   http://192.168.169.139/gitlab-instance-63929587/zic/-/merge_requests/new?merge_request%5Bsource_branch%5D=zic
remote:
To 192.168.169.139:gitlab-instance-63929587/zic.git
 * [new branch]      zic -> zic

gitlab部署

切换分支

//切换到分支zic
[root@localhost zic]# git checkout zic
Switched to branch 'zic'

//在分支zic里面上传一个文件
[root@localhost zic]# touch file2

[root@localhost zic]# git add file2

[root@localhost zic]# git commit -m "file2"
[zic 6295df5] file2
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 file2
//在分支里推送不能直接使用push命令,直接使用他会提醒你使用'git push --set-upstream origin'
[root@localhost zic]# git push
fatal: The current branch zic has no upstream branch.

To push the current branch and set the remote as upstream, use

    git push --set-upstream origin zic
//这条命令是将zic这个分支与前面的分支main进行合并处理

[root@localhost zic]# git push --set-upstream origin zic
Enumerating objects: 3, done.

Counting objects: 100% (3/3), done.

Delta compression using up to 2 threads
Compressing objects: 100% (2/2), done.

Writing objects: 100% (2/2), 256 bytes | 256.00 KiB/s, done.

Total 2 (delta 0), reused 0 (delta 0), pack-reused 0
remote:
remote: To create a merge request for zic, visit:
remote:   http://192.168.169.139/gitlab-instance-63929587/zic/-/merge_requests/new?merge_request%5Bsource_branch%5D=zic
remote:
To 192.168.169.139:gitlab-instance-63929587/zic.git
   228cd02..6295df5  zic -> zic
Branch 'zic' set up to track remote branch 'zic' from 'origin'.

gitlab部署

拉取文件

//将分支zic里的文件都拉取到分支main里
//切换到main分支
[root@localhost zic]# git checkout main
Switched to branch 'main'
Your branch is up to date with 'origin/main'.

//进行拉取,拉取到本地
[root@localhost zic]# git pull origin zic
warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:

  git config pull.rebase false  # merge (the default strategy)
  git config pull.rebase true   # rebase
  git config pull.ff only       # fast-forward only

You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.

From 192.168.169.139:gitlab-instance-63929587/zic
 * branch            zic        -> FETCH_HEAD
Updating 228cd02..6295df5
Fast-forward
 file2 | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 file2

//推送
[root@localhost zic]# git push
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
To 192.168.169.139:gitlab-instance-63929587/zic.git
   228cd02..6295df5  main -> main

gitlab部署

Original: https://www.cnblogs.com/zicnotes/p/16720879.html
Author: Zic师傅
Title: gitlab部署

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/606586/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Redis从入门到精通:初级篇

    原文链接:http://www.cnblogs.com/xrq730/p/8890896.html,转载请注明出处,谢谢 Redis从入门到精通:初级篇 平时陆陆续续看了不少Red…

    Linux 2023年5月28日
    088
  • Ubuntu 18.04替换默认软件源

    安装Ubuntu 18.04后,默认源在国外,可以替换为国内的源以提升访问速度 参考https://mirrors.ustc.edu.cn/repogen/ sudo vi /et…

    Linux 2023年6月6日
    096
  • Linux命令(实时更新)

    本博客主要总结一下博主工作中比较常用的命令: 1.iconv命令 对于给定文件把它的内容从一种编码转换成另一种编码。 -f encoding : 把字符从encoding编码开始转…

    Linux 2023年6月6日
    088
  • java处理http请求之Apache httpClient入门教程

    说明 本文示例代码基于 4.5.13 版本 转载请注明出处:https://www.cnblogs.com/qnlcy/p/15378446.html 一、项目介绍 Apache …

    Linux 2023年6月6日
    084
  • Nginx笔记

    实现负载均衡 这里采用的是权重 进入配置文件目录cd /usr/local/nginx/conf/ //实际根据自己的目录来 编辑vim nginx.conf 这段代码上方加入自定…

    Linux 2023年6月14日
    0103
  • 10分钟轻松学会 Python turtle 绘图

    先说明一下turtle绘图的基础知识: 1. 画布(canvas) 画布就是turtle为我们展开用于绘图区域, 我们可以设置它的大小和初始位置 1.1 设置画布大小 turtle…

    Linux 2023年6月8日
    0100
  • Apache Bench压力测试使用方法

    Apache Bench是Apache轻量级压力测试工具,使用方便,简单,本文章简单介绍Windows平台使用Apache bench进行接口压力测试(ab测试) ApacheBe…

    Linux 2023年6月8日
    098
  • WPF 开源二维绘画小工具 GeometryToolDemo 项目

    这是一个演示 WPF 进行二维绘画的小工具 Demo 项目,基于 MIT 协议在 GitHub 上完全开源 这是一个演示 WPF 进行二维绘画的小工具 Demo 项目,基于 MIT…

    Linux 2023年6月6日
    0110
  • 手把手教你设置MongoDB密码

    mongodb密码和传统数据如mysql等有些区别: mongodb的用户名和密码是基于特定数据库的,而不是基于整个系统的。所有所有数据库db都需要设置密码。 1. 查看所有数据库…

    Linux 2023年6月14日
    0103
  • 【证券从业】金融基础知识-第六章 证券投资基金02

    注1:后续学习并整理到第八章,全书完结后再合并成一个笔记进行源文件分享 注2:本章内容巨多,大约分为三篇文章记录消化 posted @2022-06-11 23:55 陈景中 阅读…

    Linux 2023年6月13日
    0104
  • SQL45 将titles_test表名修改为titles_2017

    本题链接本题省略表结构。需要用到RENAME TABLE子句,该子句可实现一或多个表名称的修改。子句语法为: RENAME TABLE tbl_name TO new_tbl_na…

    Linux 2023年6月13日
    088
  • Linux下创建桌面快捷方式

    建立一个文本文件,文件名必须以.desktop结尾,.desktop前面的作为快捷方式的名称 添加如下内容 [Desktop Entry]Encoding=UTF-8Name=Po…

    Linux 2023年6月6日
    094
  • docker容器编排原来这么丝滑~

    前言: 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 概念介绍: Docker 这个东西所扮演的角色,容易理解,它是一个容器引擎,也就是说实际上我们的容器最终是由Doc…

    Linux 2023年6月14日
    099
  • 安装clearos系统

    镜像下载、域名解析、时间同步请点击阿里云开源镜像站 一、clearos介绍 ClearOS是一个基于CentOS和Red Hat Enterprise Linux的简单,开源,价格…

    Linux 2023年5月27日
    094
  • Linux文件属性及权限

    Linux文件属性及权限 首先我们以root用户的身份登录linux,执行ls -al 查看文件: 文件类型: 【d】 代表目录(directory)、【-】代表文件、【l】代表链…

    Linux 2023年6月11日
    092
  • ASCLL 字符码

    信息在计算机上是用二进制数表示的,这种表示法让人很难理解。因此,计算机上都配有输入和输出设备,这些设备的主要目的就是以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。为…

    Linux 2023年6月7日
    0103
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球