02-CentOS7下docker下安装gitlab

1 docker安装gitlab

  • 拉取gitlab镜像
# gitlab-ce为稳定版本,后面不填写版本则默认最新latest版本
docker pull gitlab/gitlab-ce
  • 查看gitlab镜像编号
docker images
#REPOSITORY         TAG       IMAGE ID       CREATED        SIZE
#gitlab/gitlab-ce   latest    46cd6954564a   8 months ago   2.36GB
  • 创建gitlab映射目录
mkdir -p -m 777 /home/gitlab/config
mkdir -p -m 777 /home/gitlab/logs
mkdir -p -m 777 /home/gitlab/data
  • docker命令运行gitlab
docker run -d  -p 7001:443 -p 7002:80  -p 7003:22 --hostname 192.168.101.137 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
参数名称 参数说明
detach 指定容器运行于前台还是后台
hostname 指定主机地址, 如果有域名可以指向域名
publish 指定容器暴露的端口,左边的端口代表宿主机的端口, 右边的是代表容器的端口
name 给容器起一个名字,
restart always 重启, 只要 docker 自动重启, 容器就会自动重启.减少人工重启工作。
volume 数据卷, 在 docker 中是最重要的一个知识点.
--privileged=true 解 决 Docker 挂 载主 机目 录 Docker 访 问出 现 cannot open directory .:Permission denied
  • 修改 /home/gitlab/config/gitlab.rb 配置文件
# 配置http协议所使用的访问地址,不加端口号默认为80
external_url '192.168.101.137'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.101.137'
gitlab_rails['gitlab_shell_ssh_port'] = 7003# 此端口是run时22端口映射的7003端口
:wq #保存配置文件并退出
  • 容器重启服务
# 进去 gitlab 容器的命令
docker exec -it gitlab /bin/bash
# 重启gitlab服务
 gitlab-ctl reconfigure
# 重启容器
docker restart gitlab
  • 正常退出不关闭容器,按Ctrl+P,Ctrl+Q进行退出容器
  • 在浏览器中输入地址:http://192.168.101.137:7002
  • 初始化密码在 /home/gitlab/config/initial_root_password文件
管理员账号:root
修改为自定义密码

2 新建用户

  • 创建用户


    image.png
  • 以新用户的身份登录,创建组


    image.png
  • Gitlab用户在组中有五种权限
Guest:可以创建issue、发表评论,不能读写版本库
Reporter:可以克隆代码,不能提交,QA、PM可以赋予这个权限
Developer:可以克隆代码、开发、提交、 push,RD可以赋予这个权限
Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心RD负责人可以赋予这个权限
Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予这个权限
  • Gitlab中的组和项目有三种访问权限
Private:只有组成员才能看到
Internal:只要登录的用户就能看到
Public:所有人都能看到
  • 新建项目


    image.png

    image.png

3 GitLab配置SSH Keys

  • 打开本地git bash,使用如下命令生成[ssh]公钥和私钥对:
ssh-keygen -t rsa -C '[email protected]' (-C 后参数是邮箱地址)
  • 然后回车,直到出现:Enter file in which to save the key (/Users/xxx/.ssh/id_rsa),再次回车;
  • 查看本机ssh[公钥],获取复制它
cd ~/.ssh
ls(查看目录是否有id_rsa.pub文件)
查看公钥:cat id_rsa.pub    或者vim id_rsa.pub
  • 将复制到的本机ssh公钥,粘贴到GitLab网页User Setting下的SSH Keys中的Key文本框内,填写完成信息后Add key即可


    image.png

4 从gitlab克隆代码

  • 新建一个文件夹,我在这里在我的电脑D盘下新建project文件夹
  • 进入projects文件夹右键选择->Git Bash Here
$ git config --global user.name "你的名字"
$ git config --global user.email "你的邮箱"
  • 进入本目录,克隆项目(ssh方式)
git clone ssh://[email protected]:7003/wu/wuspringproc.git
# 返回结果
Cloning into 'wuspringproc'...
The authenticity of host '[192.168.101.137]:7003 ([192.168.101.137]:7003' can't be established.
ED25519 key fingerprint is SHA256:TEvmWqoe6QVEFRSY0jmhN1iWEB5aH0U/U0rCkKTPJj4.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[192.168.232.128]:222' (ED25519) to the list of known hosts.
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
  • IDEA配置好本地git和maven后,打开本目录,在项目上右键选择”add framework support“->"maven",添加maven框架
  • IDEA设置提交忽略文件
    image.png

    (添加的忽略文件:node_modules;target;.idea;.settings;.project;.iml;.log;.logs;.classpath;.factorypath;.gitee;.github;)

你可能感兴趣的:(02-CentOS7下docker下安装gitlab)