Docker 部署 GitLab

内容分享2周前发布
0 0 0

查看端口是否被占用:

  • sudo netstat -tlnp | grep 80 # netstat命令:可以显示网络连接、路由表和网络接口信息等。可以查看某个端口被哪个进程占用
  • sudo lsof -i :80 # lsof命令:可以列出当前系统中打开的所有文件,包括网络端口。可以查看某个端口被哪个进程占用
  • sudo ss -tlnp | grep 80 # ss命令可以列出当前系统中打开的套接字(socket)信息,包括网络端口。可以使用ss命令查看某个端口被哪个进程占用.
  • sudo fuser 80/tcp # fuser命令:可以查看某个文件或目录被哪个进程占用。对于网络端口,也可以使用fuser命令进行查询
  • sudo ps -ef | grep 80 # ps命令:可以列出当前系统中正在运行的进程信息。可以使用ps命令结合grep命令来查找某个进程,然后再查看该进程打开的网络端口。
  • sudo ls -l /proc/$(sudo lsof -t -i:80) | grep exe # 使用/proc文件系统:在Linux系统中,每个进程都有一个对应的目录,存储了该进程的相关信息。可以使用/proc文件系统来查看某个端口被哪个进程占用。

web界面的git仓库工具

GitLab: 我们可以自己在自己的服务器上搭建
Github:.全世界最大的代码托管平台 [这个网站是在国外] [微软收购了]
Gitee: 码云CSDN的

docker search gitlab/gitlab-ce
docker pull gitlab/gitlab-ce:latest

确认相关环境已经安装

docker -v
Docker version 24.0.6, build ed223bc
docker-compose -v
Docker Compose version v2.5.0
systemctl stop firewalld # 关闭Linux防火墙

部署命令:

Linux系统:

docker run -id –name gitlab –restart always -p 443:443 -p 80:80 -p 222:22 -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest

Windows系统:

docker run -id –name gitlab –restart always -p 443:443 -p 80:80 -p 222:22 -v D:/docker/gitlab/config:/etc/gitlab -v D:/docker/gitlab/logs:/var/log/gitlab -v D:/docker/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest

配置

按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。
作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/home/gitlab/config/gitlab.rb)。

docker stop gitlab # 先停掉当前的gitlab容器

gitlab.rb文件内容默认全是注释

vim /home/gitlab/config/gitlab.rb

配置http协议所使用的访问地址,不加端口号默认为80

external_url http://192.168.8.109

配置ssh协议所使用的访问地址和端口

gitlab_rails[ gitlab_ssh_host ] = 192.168.8.109
gitlab_rails[ gitlab_shell_ssh_port ] = 222 # 此端口是run时22端口映射的222端口
:wq #保存配置文件并退出

docker restart gitlab

浏览器访问:http://192.168.8.109(服务器IP)

查看 root 用户密码:

docker exec -it gitlab bash
cat /etc/gitlab/initial_root_password # 下面会输出 root 用户的初始密码

登录后修改密码: 右上角用户 –> Preferences –> Password –> 填写刚刚复制的密码 和 新密码 保存

SSH密钥配置:

git config --global user.name "tzktzk1"
git config --global user.email "dongbei.jilin@163.com"
git config -l   # CMD中查看git配置信息命令

解除项目git版本控制:
    1.第一进入项目目录下
    2. 右键打开git bash here
    3.执行命令  find . -name ".git" | xargs rm -rf
    4.完成

gitlab用户 --> 偏好设置 --> SSH密钥 --> 密钥里填写本地生成的密钥或现有密钥
在本地生成一个SSH密钥对:ssh-keygen
    SSH:公钥、私钥
        公钥添加到gitlab,本地代码通过私钥提交,公钥私钥配对成功后本次提交代码成功。

    # 本地生成密钥:(一路按回车)
    C:Users28666>ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (C:Users28666/.ssh/id_rsa):
    Created directory  C:Users28666/.ssh .
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in C:Users28666/.ssh/id_rsa.
    Your public key has been saved in C:Users28666/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:HTKvnSiXvISkE57FK9lqt4FmSJPs1xuFV6BwZ4lZIaE 28666@LAPTOP-AQT7SK99
    The key s randomart image is:
    +---[RSA 3072]----+
    |    . +=*o       |
    |     +o=..       |
    |    E . o o      |
    | . . . . * .     |
    |  = . = S o      |
    | o + @ * = .     |
    |  o % O B o      |
    |   +.+.B .       |
    |   ...o..        |
    +----[SHA256]-----+

    C:Users28666>
    到 C:Users28666/.ssh/ 目录下用记事本打开id_rsa.pub ,复制全部内容到 gitlab SSH密钥 密钥输入框里就OK

gitlab版本信息查看:

root@tzktzk1-MacBookPro:/home# docker exec -it gitlab /bin/bash
root@5ff688421ebe:/# gitlab-rake gitlab:env:info

System information
System:
Current User:   git
Using RVM:      no
Ruby Version:   3.0.6p216
Gem Version:    3.4.19
Bundler Version:2.4.20
Rake Version:   13.0.6
Redis Version:  7.0.13
Sidekiq Version:6.5.7
Go Version:     unknown

GitLab information
Version:        16.5.0
Revision:       c4532d87456
Directory:      /opt/gitlab/embedded/service/gitlab-rails
DB Adapter:     PostgreSQL
DB Version:     13.11
URL:            http://192.168.8.115
HTTP Clone URL: http://192.168.8.115/some-group/some-project.git
SSH Clone URL:  ssh://git@192.168.8.115:222/some-group/some-project.git
Using LDAP:     no
Using Omniauth: yes
Omniauth Providers: 

GitLab Shell
Version:        14.29.0
Repository storages:
- default:      unix:/var/opt/gitlab/gitaly/gitaly.socket
GitLab Shell path:              /opt/gitlab/embedded/service/gitlab-shell

Gitaly
- default Address:      unix:/var/opt/gitlab/gitaly/gitaly.socket
- default Version:      16.5.0
- default Git Version:  2.42.0
root@5ff688421ebe:/# ^C
root@5ff688421ebe:/# 

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...