使用阿里云服务器部署和使用GitLab

本文阿里云百科分享使用阿里云服务器部署和使用GitLab,GitLab是Ruby开发的自托管的Git项目仓库,可通过Web界面访问公开的或者私人的项目。本教程介绍如何部署和使用GitLab。

目录

准备工作

部署GitLab环境

使用GitLab

登录GitLab

生成密钥对文件并获取公钥

创建项目

使用GitLab


准备工作

部署GitLab前,请确保您已创建一台ECS实例,并且ECS实例必须满足以下条件:

  • 实例已分配公网IP地址或绑定弹性公网IP(EIP)。

  • 操作系统:必须为CentOS 7.x。

  • ECS云服务器:aliyunbaike.com/go/ecs

  • 实例规格:部署GitLab的实例规格要求至少为4 vCPU和4 GiB内存。

  • 已在安全组内添加入方向规则放行80端口。具体操作,请参见添加安全组规则。

 

部署GitLab环境

  1. 远程连接需要部署GitLab环境的ECS实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例。

  2. 安装GitLab所需依赖包。

    sudo yum install -y curl policycoreutils-python openssh-server
  3. 启动SSH服务并设置SSH服务为开机自启动。

    sudo systemctl start sshd
    sudo systemctl enable sshd
  4. (可选)安装并配置Postfix。

    Postfix用于GitLab发送电子邮件通知。如果您想使用其他解决方案发送电子邮件,请跳过此步骤并在安装GitLab后配置外部SMTP服务器。具体操作,请参见配置外部 SMTP 服务器。

    1. 安装Postfix。

      sudo yum install -y postfix

      如果提示类似以下报错信息,请执行rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022命令后,重新安装Postfix。

      Falling package is :mysql-community-libs-compat-5.7.41-1.el7.x86_64
      GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
    2. 启动Postfix并设置Postfix为开机自启动。

      sudo systemctl start postfix
      sudo systemctl enable postfix
  5. 添加GitLab软件包仓库。

    sudo curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
    说明 

    由于网络原因,可能会出现无法添加GitLab软件包仓库的问题,建议您多尝试几次。

    当出现类似如下回显信息,表示GitLab软件包仓库已安装。

    image.png

  6. 安装GitLab。

    sudo EXTERNAL_URL=<GitLab服务器的公网IP地址> yum install -y gitlab-ce

    <GitLab服务器的公网IP地址>请替换成安装GitLab的实例公网IP地址,示例命令如下:

    sudo EXTERNAL_URL=101.132.XX.XX yum install -y gitlab-ce

    当出现类似如下回显信息,表示GitLab已经安装成功。

    image.png

使用GitLab

登录GitLab

  1. 获取GitLab的登录密码。

    sudo cat /etc/gitlab/initial_root_password

    回显信息类似如下所示,您可以在Password后获取GitLab的初始登录密码。

    重要 

    出于安全原因,24小时后,该文件会被自动删除,建议您安装成功,首次登录之后,立即修改初始密码。

    image.png

  2. 登录GitLab。

    在浏览器的地址栏中,输入ECS服务器的公网IP即可进入GitLab的登录界面,首次登录使用用户名root,密码为步骤1获取的密码。

    asda5

 

生成密钥对文件并获取公钥

  1. 安装Git工具。

    sudo yum install git
  2. 生成密钥对文件id_rsa

    ssh-keygen

    生成密钥对的过程中,系统会提示输入密钥对存放目录(默认为当前用户目录下的.ssh/id_rsa,例如/home/test/.ssh/id_rsa)和密钥对密码,您可以手动输入,也可以按Enter保持默认。

    回显信息类似如下所示。

    image.png

  3. 查看并复制公钥文件id_rsa.pub中的内容,便于后续步骤使用。

    cat .ssh/id_rsa.pub

    回显信息类似如下所示。

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQVwWjF3KXmI549jDI0fuCgl+syJjjn55iMUDRRiCd/B+9TwUda3l9WXH5i7RU53QGRCsDVFZxixLOlmXr9E3VSqkf8xXBnHs/5E2z5PIOCN0nxfB9xeA1db/QxPwK4gkHisep+eNHRn9x+DpCYDoSoYQN0nBg+H3uqfOqL42mJ+tqSfkyqbhjBf1kjtDTlBfVCWtI0siu7owm+c65+8KNyPlj5/0AyJ4Aqk1OX2jv+YE4nTipucn7rHwWuowasPU86l+uBsLNwOSb+H7loJvQyhEINX2FS1KnpRU+ld20t07n+N3ErfX5xBAGfxXpoN9BKKSP+RT7rvTeXTVE**** test@iZuf63zs0dn0qccsisy****

创建项目

  1. 在GitLab的主页中,单击Create new project,新建一个Project。

    ada55

  2. Create new project页面,单击Create blank project,并设置Project相关配置项。

    本文以mywork项目为例进行说明。

    asda566

  3. 添加SSH key。

    1. 在当前project页面,单击Add SSH key

      sdaa

    2. 将公钥文件id_rsa.pub中的内容粘贴到Key所在的文本框中。

      asda

    3. 单击Add key

      SSH Key添加完成后,如下图所示。

      sda

  4. 复制Clone链接,该链接在进行克隆操作时需要使用。

    项目地址

 

使用GitLab

  1. 配置使用Git仓库的人员信息。

    1. 配置使用Git仓库的人员姓名。

      git config --global user.name "testname" 
    2. 配置使用Git仓库的人员邮箱。

      git config --global user.email "abc@example.com" 
  2. 克隆已创建的项目到本地。

    git clone git@101.132.XX.XX:root/test.git

    简单配置

  3. 上传文件到GitLab服务器。

    1. 进入到项目目录。

      cd mywork/ 
    2. 创建需要上传到GitLab中的目标文件。

      echo "test" > /home/test/test.sh
    3. 将目标文件或者目录复制到项目目录下。

      cp /home/test/test.sh ./ 
    4. test.sh文件加入到索引中。

      git add test.sh
    5. test.sh提交到本地仓库。

      git commit -m "test.sh"
    6. 将文件同步到GitLab服务器上。

      git push -u origin main

      文件同步命令

      在网页中查看上传的test.sh文件已经同步到GitLab服务器中。

      文件同步结果

 本文转自阿里云官方文档。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/63351.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tomcat部署与优化

目录 一、Tomcat介绍 二、Tomcat核心组件 1、web容器&#xff1a;完成web服务器的功能&#xff0c;web应用 2、servlet容器&#xff1a;名字&#xff1a;catalina&#xff0c;处理servlet代码 servlet的功能 3、jsp&#xff1a;jsp动态页面翻译成servlet代码&#xff0c;用…

20.5 HTML 媒体

1. video视频标签 video视频标签: 是HTML中用于在网页上嵌入视频的元素.常用的视频标签属性: - src属性: 指定视频文件的URL地址. - controls属性: 用于显示视频播放控件(如播放按钮, 进度条等), 使用户能够控制视频的播放. - width和height: 指定视频的宽度和高度. - autopla…

CMake语法中的PUBLIC、PRIVATE、INTERFACE关键字含义

在CMake语法中&#xff0c;经常见到PUBLIC、PRIVATE、INTERFACE关键字&#xff0c;它们是什么意思呢&#xff1f;下面举例说明。 如上图,说明如下&#xff1a; RIVATE&#xff1a;私有的。生成 libhello-world.so时&#xff0c;只在 hello_world.c 中包含了 hello.h&#xff0…

音视频研发分享:关键帧截图+wasm快照--我又做了一件有益于社会的事情

音视频研发分享&#xff1a;关键帧截图wasm快照--我又做了一件有益于社会的事情 简单的一个视频设备快照功能到底有多费事多费电&#xff1f;新的方法有方法&#xff01; 省了多少电&#xff1f; 简单的一个视频设备快照功能到底有多费事多费电&#xff1f; 以前&#xff0c;我…

【C# 基础精讲】构造函数和析构函数

构造函数&#xff08;Constructor&#xff09;和析构函数&#xff08;Destructor&#xff09;是面向对象编程中的两个重要概念&#xff0c;它们分别用于在对象创建和销毁的时候执行特定的操作。这两个函数在C#以及其他面向对象编程语言中都具有重要的作用&#xff0c;用于初始化…

Ajax-AJAX请求的不同发送方式

&#x1f954;&#xff1a;你一定能成为想要成为的人 发送AJAX请求不同方式 发送AJAX请求不同方式1、jQuery发送AJAX请求2、axios发送AJAX请求&#xff08;重点&#xff09;3、fetch发送AJAX请求 发送AJAX请求不同方式 1、jQuery发送AJAX请求 首先需要jquery的js文件&#xf…

28岁,从字节退休了···

大厂一直是每个程序员都向往职业目标&#xff0c;大厂意味着薪资高、福利好、倍有面儿&#xff0c;而且发展空间也大。甚至有人调侃不想进大厂的程序员不是好程序员。 而在网上&#xff0c;也有各个网友分享自己在大厂的经历&#xff0c;在某平台还有一个近2600万浏览的话题&a…

从零开始学python(十六)爬虫集群部署

前言 今天讲述Python框架源码专题最后一个部分&#xff0c;爬虫集群部署&#xff0c;前面更新了十五个从零开始学python的系列文章&#xff0c;分别是&#xff1a; 1.编程语法必修篇 2.网络编程篇 3.多线程/多进程/协程篇 4.MySQL数据库篇 5.Redis数据库篇 6.MongoDB数据库篇 …

Unity游戏源码分享-精品即时战略游戏_官网60美刀素材

Unity游戏源码分享-精品即时战略游戏_官网60美刀素材 下载地址&#xff1a;https://download.csdn.net/download/Highning0007/88204017

创建MySQL数据库和创建表的详细步骤(navicat)

目录 一、介绍 二、操作步骤 &#xff08;一&#xff09;新建连接 &#xff08;二&#xff09;新建数据库 &#xff08;三&#xff09;新建表 插入数据测试 对字段进行增加或者修改 三、关于MySQL的其他文章&#xff08;额外篇&#xff09; 一、介绍 在创建数据库…

正则表达式试炼

我希望在这里列出我很多想写的正则表达式&#xff0c;很多我想写&#xff0c;但是不知道怎么写的。分享点滴案例。未来这个文章会越来越长 案例 我有这样的一批文字&#xff0c;我需要删掉Mozilla/5.0前面的所有内容&#xff0c;如果可以用正则表达式批量匹配到&#xff0c;删…

并发编程--------JUC集合

并发集合 一、ConcurrentHashMap 1.1 存储结构 ConcurrentHashMap是线程安全的HashMap ConcurrentHashMap在JDK1.8中是以CASsynchronized实现的线程安全 CAS&#xff1a;在没有hash冲突时&#xff08;Node要放在数组上时&#xff09; synchronized&#xff1a;在出现hash…