Gitlab搭建

news/2024/9/28 20:16:54

目录
  • Gitlab
    • 1. 使用docker部署gitlab
    • 2. 登录gitlab
      • 2.1 修改语言为中文
      • 2.3 修改密码
    • 3. 用户管理
      • 3.1 创建用户
    • 4. 配置ssh拉取代码
      • 4.1 添加ssh密钥
      • 4.2 测试拉取

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: gitlabcontainer_name: gitlabrestart: alwaysports:- "443:443"- "80:80"- "2222:22"volumes:- "/data/gitlab/config:/etc/gitlab"- "/data/gitlab/logs:/var/log/gitlab"- "/data/gitlab/data:/var/opt/gitlab"# 这里的镜像自己改地址,目前国内不能直接访问dockerhubimage: gitlab/gitlab-ceenvironment:GITLAB_OMNIBUS_CONDIG: |# 对外的地址external_url 'http://gitlab.hcie.com'gitlab_rails['gitlab_shell_ssh_port'] = 2222# smtp是邮件,为了安全,gitlab创建账户之后不能直接设置密码,而是给邮箱发一个邮件,通过邮件里的链接去改密码,这里先让他启动,后面可以进web界面修改gitlab_rails['smtp_enable'] = truegitlab_rails['smtp_address'] = "smtp.hcie.com"gitlab_rails['smtp_port'] = 465gitlab_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'] = falsegitlab_rails['smtp_tls'] = truegitlab_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解析

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Linux部署Mysql(服务器)

远程服务器:CentOS 7.6 (本地VM也一样)连接:XShell 7 与 Xftp 71. 下载tar包与准备工作查看系统的 glibc 版本:(我的是2.17)rpm -qa | grep glibc  官网下载对应的 Mysql tar包:https://dev.mysql.com/downloads/mysql/ # 查找与mysql相关的软件包并将其从系统中卸载 …

flask-SQLAlchemy解决报错 Working outside of application context.

尝试想要写自己的自动化测试框架,使用的是flask,想要使用SQLAlchemy实现数据库的模型映射,但是按照官方文档创建好module后执行时,会报错Working outside of application context. 经过一番查找,存在flask的上下文问题,以下是解决过程 官网案例:http://www.pythondoc.com…

再谈量化策略失效的问题

更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流。 如何判断量化策略是否失效 我们在交易量化策略的时候,经常会遇到量化策略出现持续性的回撤。此时,必须考虑一种情况,即正在交易的策略可能失效了。于是,我们的首要工作是,判断这…

Ansible笔记

1、Ansible基本介绍 Ansible是一个自动化的管理IT资源的工具。 1)Ansible基本介绍Ansible功能 Ansbile优点 Ansible缺点系统环境配置 无客户的 效率低、易挂起安装仁济 推送式持续集成 丰富的module热回滚 基于YAML的Playbook2)Ansible与其他软件的对比对比项目 Puppet Chef …

使用宝塔面板反向代理openai

创建站点 配置反向代理 openai的特殊配置:proxy_set_header X-Error-Message $upstream_http_x_error_message; proxy_buffering off; proxy_ssl_server_name on; proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 反向代理完整配置:#PROXY-START/location ^~ / {proxy_pass ht…

模拟集成电路设计系列博客——7.2.3 每阶段k-bit流水线ADC

7.2.3 每阶段k-bit流水线ADC 通过增加中间级增益和每级的比较器可以在每级解析多于1比特。信号流图类似之前介绍的每次迭代2比特的逐次逼近型ADC。一个通用的k比特级如下图所示:k比特副ADC的非线性可以通过增加额外的比较器通过数字方式来校正,类似于每级1.5比特架构[Lewis, …

安装metasploitable2

一、介绍 Metasploitable2 虚拟系统是一个特别制作的ubuntu操作系统 二、安装virtualbox 三、下载 metasploitable2,网址 https://sourceforge.net/projects/metasploitable/files/Metasploitable2/ ,解压如下 四、打开virtualbox 1 新建虚拟机2 选择虚拟硬盘3 选择注册4 选…

Python 遍历文件每一行判断是否只有一个换行符详解

前言 在文件处理过程中,判断文件每一行是否只有一个换行符是一个常见需求。作为测试工程师,我们经常需要对文件的格式进行验证,确保数据的完整性和规范性。本文将详细介绍如何使用 Python 遍历文件的每一行,并判断每一行是否只有一个换行符。 需求分析 我们需要编写一个 Py…