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)

大家都在看

  • Java基础之接口篇

    Overload和Override的区别?重载Overload:表示同⼀个类中可以有多个名称相同的⽅法,但这些⽅法的参数列表各不相同,参 数个数或类型不同 重写Override:表…

    Linux 2023年6月7日
    081
  • jQuery 遍历

    下图展示了一个家族树。通过 jQuery 遍历,您能够从被选(当前的)元素开始,轻松地在家族树中向上移动(祖先),向下移动(子孙),水平移动(同胞)。这种移动被称为对 DOM 进行…

    Linux 2023年6月13日
    083
  • jmeter接口关联-后置处理器(正则表达式)

    接口测试通过会涉及到两个接口之间的关联,前一个接口的返回数据作为到下一个接口的入参,这时候就需要用到后置处理器,其中有正则表达式提取器、XPath提取器、JSON提取器,今天先示范…

    Linux 2023年6月8日
    069
  • 招人、找人、找大牛啦!

    招人、找人、找大牛啦! 有意从事、投资TO B业务,含新型操作系统、大数据、人工智能、高性能计算、分布式应用软件的研发、高管、合伙人朋友请联系我,我司正在启动新一轮业务拓展!详情私…

    Linux 2023年6月6日
    087
  • 在线安装Docker

    安装 yum-utils 包yum install -y yum-utils 设置存储库# 官方地址(比较慢) yum-config-manager \ –add-repo \ …

    Linux 2023年6月7日
    070
  • 大数据——搭建第一台Hadoop主机

    工具准备 1、VMware 2、CentOS 7 最小安装版 3、远程工具推荐使用 FinalShell 安装系统 1、打开VMware,根据自己的情况配置好虚拟机,选择系统镜像就…

    Linux 2023年5月27日
    0103
  • 在Ubuntu机器上使用war包安装Jenkins

    因为一些需求需要迁移之前使用的Jenkins,原来是按照官方文档使用apt方式安装的,这次搬迁后的机器由于默认不通外网(可以通过代理走外网),因此趁此机会,尝试改用war包方式安装…

    Linux 2023年6月6日
    0102
  • 2021年3月-第02阶段-前端基础-HTML+CSS阶段-Day03

    HTML5 第三天 一、 认识 3D 转换 3D 的特点 近大远小 物体和面遮挡不可见 三维坐标系 x 轴:水平向右 — 注意:x 轴右边是正值,左边是负值 y 轴:垂…

    Linux 2023年6月8日
    0101
  • Python中使用%s占位符生成sql与literal转义防止sql注入攻击原理浅析

    问题背景 在后端服务中经常需要通过传入参数动态生成sql查询mysql,如查询用户信息、资产信息等,一条常见的sql如下: SELECT vip, coin FROM user_a…

    Linux 2023年6月6日
    0122
  • docker网络模型

    [root@iZuf620p8rsr3faul3zsx6Z ~]# docker network –help Usage: docker network COMMAND Mana…

    Linux 2023年6月13日
    0107
  • linux安装Oracle11G

    1、Linux下以Oracle帐户进入Linux系统。 2、执行以下命令查看数据库监听器的状况: lsnrctl status 3、执行以下命令停止数据库监听器运行: lsnrct…

    Linux 2023年6月13日
    069
  • SQL实战——02. 查找入职员工时间排名倒数第三的员工所有信息

    查找入职员工时间排名倒数第三的员工所有信息CREATE TABLE employees (emp_no int(11) NOT NULL,birth_date date NOT N…

    Linux 2023年6月14日
    089
  • 其他

    1、【剑指Offer学习】【面试题01:实现赋值运算符函数】 2、【剑指Offer学习】【面试题02:实现Singleton 模式——七种实现方式】 5、【剑指Offer学习】【面…

    Linux 2023年6月13日
    075
  • 使用idea操作git(ssh协议)

    问题 我们发现,使用IDEA上的git功能,当使用ssh协议出现了可以commit但无法push和pull的问题,经过测试发现原因是Could not read from rems…

    Linux 2023年6月6日
    0117
  • win的系统自动启动任务计划!!!

    posted @2022-04-19 16:56 钟小川 阅读(18 ) 评论() 编辑 Original: https://www.cnblogs.com/zhongxiaoch…

    Linux 2023年6月13日
    075
  • make及makefile简单介绍

    GUN make是一种代码维护工具。 make工具会根据makefile文件定义的规则和步骤,完成整个软件项目的代码维护工作。 一般用来简化编译工作,可以极大地提高软件开发地效率。…

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