Gitlab搭建

gitlab · 浏览次数 : 0

小编点评

本文主要介绍了如何使用Docker部署GitLab,以及如何进行用户管理、配置SSH拉取代码等操作。 **部署GitLab** 首先,创建一个目录结构,然后编写`docker-compose.yaml`文件。在这个文件中,定义了一个名为`gitlab`的服务,其中包含了GitLab的配置、日志和数据卷。接下来,使用`docker-compose up -d`命令启动GitLab容器。 **登录GitLab** 启动完成后,使用`docker exec -it gitlab bash`命令进入GitLab容器。然后,使用`cat /etc/gitlab/initial_root_password`命令查看默认密码。使用这个密码登录GitLab,并修改密码。 **修改语言为中文** 在GitLab的Web界面中,进入“用户设置”>“语言”,将语言修改为中文。 **创建用户** 在GitLab的Web界面中,进入“用户设置”>“新建用户”,填写电子邮件地址并设置密码。点击“发送验证邮件”按钮,待收到邮件后点击链接修改密码。 **配置SSH拉取代码** 在GitLab的Web界面中,进入“用户设置”>“SSH 密钥”,将公钥添加到SSH密钥列表中。这样,在克隆私有项目时,就不需要输入密码了。 **测试拉取代码** 克隆一个私有项目,然后尝试使用SSH方式拉取代码。在克隆时,不需要输入密码。 综上所述,本文详细介绍了使用Docker部署GitLab并进行相关操作的方法。

正文

Gitlab

1. 使用docker部署gitlab

[root@master ~]# mkdir -p /data/gitlab/{config,logs,data}

编写docker-compose.yaml

[root@master ~]# mkdir gitlab
[root@master ~]# vim docker-compose.yaml
version: '3.3'
services:
  gitlab:
    hostname: gitlab
    container_name: gitlab
    restart: always
    ports:
      - "443:443"
      - "80:80"
      - "2222:22"
    volumes:
      - "/data/gitlab/config:/etc/gitlab"
      - "/data/gitlab/logs:/var/log/gitlab"
      - "/data/gitlab/data:/var/opt/gitlab"
     # 这里的镜像自己改地址,目前国内不能直接访问dockerhub
    image: gitlab/gitlab-ce
    environment:
      GITLAB_OMNIBUS_CONDIG: |
        # 对外的地址
        external_url 'http://gitlab.hcie.com'
        gitlab_rails['gitlab_shell_ssh_port'] = 2222
        # smtp是邮件,为了安全,gitlab创建账户之后不能直接设置密码,而是给邮箱发一个邮件,通过邮件里的链接去改密码,这里先让他启动,后面可以进web界面修改
        gitlab_rails['smtp_enable'] = true
        gitlab_rails['smtp_address'] = "smtp.hcie.com"
        gitlab_rails['smtp_port'] = 465
        gitlab_rails['smtp_user_name'] = "notify@hcie.com"
        gitlab_rails['smtp_password'] = "xxxx"
        gitlab_rails['smtp_domain'] = "smtp.hcie.com"
        gitlab_rails['smtp_authentication'] = "login"
        gitlab_rails['smtp_enable_starttls_auto'] = false
        gitlab_rails['smtp_tls'] = true
        gitlab_rails['smtp_openssl_verify_mode'] = "peer"
        gitlab_rails['gitlab_email_from'] = "notify@hcie.com"
        gitlab_rails['gitlab_email_display_name'] = "gitlab"
        user["git_user_email"] = "notify@hcie.com"
        nginx["client_max_body_size"] = "0"

启动gitlab

[root@master gitlab]# docker-compose up -d

2. 登录gitlab

等待他启动之后我们查看默认密码

[root@master gitlab]# docker exec -it gitlab bash
root@gitlab:/# cat /etc/gitlab/initial_root_password
root@gitlab:/# cat /etc/gitlab/initial_root_password
# WARNING: This value is valid only in the following conditions
#          1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
#          2. Password hasn't been changed manually, either via UI or via command line.
#
#          If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Password: JF6/7g7iH/iUX5hP2eJ4c6WVBYKe2sW1HZXu3o02HYA=

这里的就是密码了,只能使用24小时

  • 默认用户名 root

2.1 修改语言为中文

将这里修改问中文

2.3 修改密码

因为临时密码只能使用24小时,所以得修改一下密码

修改完中文之后点击一下旁边的密码就可以修改了

  • 当前密码就是那个临时密码

  • 如果你的界面还是英文就刷新一下页面

3. 用户管理

3.1 创建用户

点进去之后就会有一个用户

  • 这里的电子邮件地址不能乱填,之前就说过,他是会给这个邮件地址发送一封邮件,点击邮件里的链接才可以改密码的
  • 但是我们之前的smtp服务都是瞎写的,邮件他肯定是发不出去的
  • 我们可以先创建用户之后点击编辑,可以给他设置密码

4. 配置ssh拉取代码

如果使用http的方式去拉取代码的话,如果项目是私有的,那么每次都是需要登录的,但是在内部使用我们可以使用ssh的方式去拉取,这样就不用登录了

4.1 添加ssh密钥

  • 将你自己的公钥放在这

  • 公钥路径

[root@master test]# cat ~/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCbmEeD5QoRO+iDNIEANlLRU9N0vESKTEdjiUBrxaRk81qXeX4+SBC0fq5iVye9eUQ9QYP+ACOe1e/inGyPX4jAZVY6cNuCIkkIsPKrClkmQGovg/vE6QVIxiOzrFa38O+hGxuqtDVCRPAjTeGSdsU50ZlkvPlFf/R3Ja59BaxwPCTpomtF6Id1gvIdVmfNV1IsGaBjMOcNE24NVzKBwTUyR8MPw+or1uO5+5CGawCMJDQSsVl1KW5CASLcef5TJKq/Z9dDfKWTXEedPl+Ic6DgCCZ4Tyi372C2QUU3Vo78ugsdXW7zjWn/fH4j7vjYiO1eZqdXUxNyJMyB00ASF2ULQ9igAd/c3SvtomKPg+R94p40Nq/UpE8dlUzNFVCHFCEpBsoi8LPlcqmhhOpjv8Q2IESOn2pwZcl9a8T9txsdeCnX93k6my4iEE2ay3xddq/EJKRzbIAmRxjiqjixBtBaqR9qbud4JDgz1mHh6Gsk2Vdui0FslAtqXEFkDiT4s7M= root@master

4.2 测试拉取

[root@master workspace]# mkdir test1

[root@master test1]# git clone ssh://git@gitlab:2222/devops/app.git
Cloning into 'app'...
The authenticity of host '[gitlab]:2222 ([192.168.200.200]:2222)' can't be established.
ED25519 key fingerprint is SHA256:EB9YH9NMwMG5kxg7lYd8nyJdDwebSOiWH0zdXPHTmv0.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[gitlab]:2222' (ED25519) 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 (from 0)
Receiving objects: 100% (3/3), done.
[root@master test1]# 

这个时候他就没有让我们输入密码了

注意配置主机的hosts解析

与Gitlab搭建相似的内容:

Gitlab搭建

目录Gitlab1. 使用docker部署gitlab2. 登录gitlab2.1 修改语言为中文2.3 修改密码3. 用户管理3.1 创建用户4. 配置ssh拉取代码4.1 添加ssh密钥4.2 测试拉取 Gitlab 1. 使用docker部署gitlab [root@master ~]# mk

博客园众包平台:嵌入式开发任务悬赏5万,招募开发者接单

博客园众包平台是我们从今年5月开始的商业化突围项目,一边在以企业微信+自己搭建的GitLab简单运营众包业务,一边在融资投入平台系统的建设,当前已召集到1000多位合作开发者,多数是有多年开发经验的资深开发者。 万事开头难,虽然召集了这么多合作开发者,却一边面临僧多粥少的尴尬,一边面临有单无人接的难

博客园商业化之路-众包平台:继续召集早期合作开发者

会员、周边、广告是园子现在维持生存的主要收入来源,而众包平台是园子未来实现商业化规模增长的希望所在。 今年5月开始的众包平台建设是万里长征,不仅需要融资,还需要找到合伙人组建新的团队。虽然当前既没有钱又没人,但万里长征已经迈出了第一步,采用企业微信+自己搭建的 gitlab 以原始的方式运营,已经做

开启GitLab的邮件通知功能以及一些外观配置

前言 维护GitLab的同事离职了 刚好又有新实习生需要申请账号 只能我来出手了 其实之前安装了 GitLab 之后一直还是用得比较粗糙的 属于是勉强能用的水平,有些配置都还没改好 这次把邮件功能、域名、外观啥的配置好了,写篇文章记录一下 目录结构 先来回顾一下 GitLab 的目录结构 我们的 G

gitlab自动定时备份文件,备份失败发送邮件

一、需求 为预防gitlab出现故障,每天定时备份,备份完成后把之前的备份文件删除,备份成功或失败的时候自动发送邮件提醒,这里的gitlab为docker部署。 二、备份命令准备 1)备份命令 创建一个 gitlab_auto_backup.sh文件,文件内容 #!/bin/bash # 进入Git

如何从0-1了解 熟悉 精通gitlab

加入gitlab团队项目: 打开其他用户极狐邀请邮件; 点击接受紫色邀请按钮“accept invitation”; 选择免费试用90天saas服务; 使用邮箱注册进行邮箱验证【验证方式:邮箱验证码方式验证】; 绑定手机号码【验证手机号真实属于个人方式:10分钟有效期短信验证码】; 填写一些gitl

GitLab 管理 NuGet 包

GitLab 项目提供了上传 NuGet 包的途径,能够在组织内部轻松管理程序包依赖和产出,支持持续集成和发布。同时适合承载无法访问或不在 nuget.org 上的程序包。

[转帖]gitlab:一次近乎完美的PostgreSQL版本大升级实践

作者 | Jose Finotto 译者 | 马可薇 策划 | 万佳 2020 年 5 月,我们与 OnGres 合作,对 GitLab 上的 Postgres 集群进行版本大更新,从 9.6 版本升级到 11 版本。升级全部在维护窗口内运行,没有丝毫差错;更新中所有涉及的内容、计划、测试,以及全流

AWX+gitlab

目录AWX+gitlab1. Awx配置1.1 添加机构1.2 添加团队1.3 添加主机1.4 测试主机连通性2. 对接gitlab2.1 添加凭证2.2 添加项目2.3 上传playbook2.3.1 克隆仓库2.3.2 创建分支2.3.3 编写playbook并上传2.3.4 上传ansible

在CentOS8中安装gitlab

安装 docker 及 docker-compose centos8 更新源 cd /etc/yum.repos.d/ sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* sed -i 's|#baseurl=http://mi