gitlab_docker安装使用


gitlab_docker安装使用

docker环境安装

  1. 安装或更新WSL2
    之前在Windows10中我们是通过开启Hyper-V组件来进行Docker的安装,随着微软不断完善WSL以及WSL2的推出,现在完全可以不开启Hyper-V来直接进行Docker的安装。一般的Windows10系统中默认以及安装WSL,我们只需要通过下载一个 wsl_update_x64.msi
  • 开启BIOS虚拟化
    进入主机BIOS界面找到虚拟化设置开启

  • 启用wsl
    以管理员身份打开 PowerShell 工具并运行以下命令
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

  • 启用“虚拟机平台”
    要在 Windows 10(2004)上启用虚拟机平台,请以管理员身份打开 PowerShell 并运行:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
要在 Windows 10(1903,1909)上启用虚拟机平台,请以管理员身份打开 PowerShell 并运行:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoResta

  • 设置 WSL 2 为默认值
    以管理员身份打开 PowerShell,然后运行以下命令以将 WSL 2 设置为 WSL 的默认版本:

wsl --set-default-version 2

  1. 安装 Docker Desktop
    点击此处来下载最新的Docker Desktop Installer来安装Docker ,安装完成后需要重新启动电脑。

  2. 检查是否正确安装Docker
    重启计算机后,看桌面右下角的Docker图标是否已经启动,如果已经正常启动在cmd中通过docker ps 命令来看是否已运行Docker。

gitlab安装

  1. 创建数据卷Volume
    如果没有正确创建数据卷,你会发现每当你的电脑重启后,你之前做的所有的操作保存的数据全部都清除了这是因为你的数据都是保存在Docker镜像里面的,并没有将Docker里面的数据同步到系统中任何一个磁盘中,所以当你执行Docker stop或者是Docker restart命名后之前所有的数据都丢失了
    执行的命名是 :docker volume create XXX ,后面是数据卷的名称
    如果放在C盘空间不够,可以在其它盘创建

这里由于GitLab中主要有三个重要的数据分别是 data、config、log,所以我们这里创建了三个数据卷,后面GitLab服务都是挂在在这几个目录下面的。

  1. 执行Docker run步骤
    映射对应的端口和目录
    docker run -d  -p 443:443 -p 80:80 -p 8888:22 --name gitlab --restart always -v d:/gitlab-config-vol:/etc/gitlab -v d:gitlab-log-vol:/var/log/gitlab
    -v d:gitlab-data-vol:/var/opt/gitlab -e ITLAB_ROOT_EMAIL="root@local"-e GITLAB_ROOT_PASSWORD="gitlab_root_password" -e EXTERNAL_URL="http://自己的ip或网址" gitlab/gitlab-ce

-d 后台运行容器,并返回容器ID
-p 80:80 将容器内80端口映射至宿主机80端口,这是访问gitlab的端口
-p 8888:22 将容器内22端口映射至宿主机8888端口,这是访问ssh的端口
–name gitlab 设置容器名称为gitlab
–restart always 容器自启动
-v gitlab-config-vol:/etc/gitlab 将容器/etc/gitlab目录挂载到创建的数据卷 gitlab-config-vol目录下
–privileged=true 让容器获取宿主机root权限
gitlab/gitlab-ce 镜像的名称,这里也可以写镜像ID 

安装完成后我们通过docker ps -a 命令查看我们安装的docker 镜像 ,这样就是正确启动起来了,这样我们就完成了一大步

  1. 配置GitLab服务
    这个步骤主要是配置GitLab在局域网中访问的Url以及端口,这个主要是方便局域网中进行浏览器的访问,这个过程主要是通过修改容器内GitLab服务来实现的,具体来说是修改GitLab默认的配置文件gitlab.rb来进行的,具体的步骤如下
  • 进入容器内执行命令
    docker exec -it gitlab /bin/bash
  • 使用vi编辑器打开gitlib.rb,具体命令如下:
    vi /etc/gitlab/gitlab.rb

3.3 修改gitlab.rb中的重点配置项

# gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
eaxternal_url 'http://127.0.0.1:80'
# ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '127.0.0.1'
# ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 443

配置了这个后我们就可以在浏览器中通过127.0.0.1或者是localhost去访问GitLab服务了

  • 保存并推出

    # 保存并退出
    :wq
  • 设置下默认账号的密码

    cd /opt/gitlab/bin/
    gitlab-rails console production
    u=User.where(id:1).first
    u.password=12345678
    u.password_confirmation=12345678
    u.save!
    exit
  • 让修改后的配置生效
    gitlab-ctl reconfigure

  • 重启GitLab服务
    gitlab-ctl restart

  • 退出容器
    exit

gitlab使用

管理员用户授权权限

创建gitlab项目

1)选择projects –>Creare a project 创建一个项目

填写项目名称,Project slug自动补充。(Project description(optional)项目描述自定义)其他默认,点击确定

a. 项目名称,项目名称可以为字母、数字、空格、下划线、中划线和英文点号组

成,且必须以字母或数字开头,不能使用中文

b. 项目描述

c. 可见性(库类别)

私有库:只有被赋予权限的用户可见

内部库:登录用户可以下载

公开库:所有人可以下载

点击创建,如下图

项目地址有HTTP和SSH两种方式——-可发送给开发人员下载和初始化项目

如果通过SSH方式拉取推送项目代码必须要导入SSH key

点击key后出现如下图片,将下面步骤生成的key文件复制到框中

key生成

ssh-keygen -t rsa -f ~/.ssh/gitlab_id_rsa-C "[email protected]"
可以使用已创建的key或者自己生成key,生成key如下(执行命令后直接回车,我之前已经执行过此命令并生成了 id_rsa key):
想要同时配置github和gitlab,则要配置.ssh的config文件
一般在C:\Users\用户名.ssh下

config的配置

# gitlab
Host gitlab
HostName 192.168.40.7
Port 8888
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_id-rsa
User nihao

# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
User nihao

上传项目

所有步骤都需要执行的命令

git config --global user.name "Jicming"
git config --global user.email "[email protected]"
  • 情况1)创建一个新的git仓库 步骤如下:
    git clone git@gitlab.com:newOCS/my_test.git
    cd my_test
    touch README.md
    git add README.md
    git commit -m "add README"
    git push -u origin master
  • 情况2)目录已存在的情况

    cd existing_folder
    git init
    git remote add origin [email protected]:newOCS/my_test.git
    git add .
    git commit -m "Initial commit"
    git push -u origin master
  • 已存在git仓库

existing git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin git@gitlab.com:newOCS/my_test.git
git push -u origin --all
git push -u origin --tags

参考:
https://zhuanlan.zhihu.com/p/337104547
https://www.cnblogs.com/seekdream/p/14197062.html
https://zhuanlan.zhihu.com/p/47823511
https://www.jianshu.com/p/68578d52470c


文章作者: leaves
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 leaves !
  目录