gitlab搭建

gitlab搭建

参考链接: https://blog.csdn.net/cyfblog/article/details/98734952


gitlab简介:

  • GitLab 是由 GitLab Inc.开发,一款基于 Git 的完全集成的软件开发平台(fully 集成软件 development
    platform)。且具有wiki以及在线编辑、issue跟踪功能、CI/CD 等功能。

docker搭建gitlab

配置阿里镜像源

备份

$sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 

修改,替换掉source.list文件内容

$sudo vim /etc/apt/sources.list

deb [by-hash=force] http://mirrors.aliyun.com/deepin lion main contrib non-free
~
~

更新源

$sudo apt-get update
安装Docker

$ vim docker.sh

#!/bin/sh  
  
#install curl  
sudo apt-get update && sudo apt-get install -y curl

#install-docker
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun

# 配置镜像加速器
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}
EOF

# 启动docker,设置开机启动
sudo systemctl restart docker && sudo systemctl enable docker

# 建立docker用户组
sudo usermod -aG docker $USER
sudo systemctl restart docker

$ bash docker.sh

将容器内的/etc/gitlab拷贝到宿主机
  • 本地新建目录,将容器内的/etc/gitlab配置文件映射出来方便以后修改、配置。
$ sudo mkdir -p /home/sbw/qj/docker/gitlab && cd  /home/sbw/qj/docker/gitlab
~/qj/docker/gitlab$ sudo docker run --rm -d --name gitlab twang2218/gitlab-ce-zh:11.1
~/qj/docker/gitlab$ sudo docker cp gitlab:/etc/gitlab .
~/qj/docker/gitlab$ sudo mv gitlab/ config
~/qj/docker/gitlab$ sudo docker stop gitlab
启动gitlab容器
$ sudo docker run -d \
--name gitlab \
--hostname 192.168.10.30 \
-p80:80 -p443:443 -p22:22 \
--restart unless-stopped \
-v /home/sbw/qj/docker/gitlab/config:/etc/gitlab \
-v /home/sbw/qj/docker/gitlab/data:/var/opt/gitlab \
-v /home/sbw/qj/docker/gitlab/logs:/var/log/gitlab \
twang2218/gitlab-ce-zh:11.1    #指定镜像
e890b9c7fe670b770276a0f85c0f749e5556ef6ec8d117bf4bb33e0ca1ab3335
~/qj/docker/gitlab$ docker ps
CONTAINER ID        IMAGE                         COMMAND             CREATED             STATUS                   PORTS                                                               NAMES
e890b9c7fe67        twang2218/gitlab-ce-zh:11.1   "/assets/wrapper"   2 minutes ago       Up 2 minutes (healthy)   0.0.0.0:2222->22/tcp, 0.0.0.0:8080->80/tcp, 0.0.0.0:8443->443/tcp   gitlab

说明:

  • -d 后台启动,打印容器id

  • -p 8080:80 将宿主机的端口映射至容器暴露的端口

  • --name gitlab 设置容器名称为gitlab

  • --restart unless-stopped 设置容器重启策略

    Docker容器的重启策略:

    • no 默认策略,在容器退出时不重启容器
    • on-failure 在容器非正常退出时(退出状态非0),才会重启容器
    • on-failure:3 在容器非正常退出时重启容器,最多重启3次
    • always 在容器退出时总是重启容器
    • unless-stopped 在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
  • --hostname 192.168.10.30 设置主机名或域名

  • -v 挂载目录至宿主机,将gitlab的配置文件、数据文件、log文件的目录映射到本地目录中

修改gitlab配置文件

配置gitlab服务器的访问地址

root@sbw:# /home/sbw/qj/docker/gitlab/data/gitlab-rails/etc/
root@sbw:# vim gitlab.yaml

##GitLab settings
  gitlab:
    ## Web server settings (note: host is the FQDN, do not include http://)
    host: 192.168.10.30
    port: 80
    https: false

配置http协议所使用的访问地址

root@sbw:# /home/sbw/qj/docker/gitlab/config
root@sbw:# vim gitlab.rb

##GitLab URL
##! URL on which GitLab will be reachable.
##! For more details on configuring external_url see:
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
external_url '192.168.10.30'
#配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.10.30'
gitlab_rails['gitlab_shell_ssh_port'] =22

<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">

gitlab简单使用

  • 设置root密码
  • 输入地址: http://localhost:8080/
  • 在浏览器打开后,会进入到一个图形化界面,初次使用需要设置长度≥8的root用户的密码。

在这里插入图片描述

  • gitlab首次登录主页面
  • 使用root用户和设置的root用户的密码登录到gitlab服务器。

在这里插入图片描述

  • 新建项目
  • 填写项目名称、添加项目描述,创建一个新的项目,即可进入到新建项目界面:

在这里插入图片描述

  • 设置ssh密钥
  • 生成公钥:ssh-keygen -t rsa
  • COPY到用户设置SSH秘钥中
sbw@sbw:~$ su 
密码:
root@sbw:/home/sbw# cat .ssh/id_rsa.pub
root@sbw:/home/sbw# ssh-keygen -t rsa
root@sbw:/home/sbw# cat .ssh/id_rsa.pub

在这里插入图片描述

  • 上传本地项目到gitlab服务器
  • 新建项目后,根据命令行指令的提示,选择合适的方式上传项目:
    在这里插入图片描述
  • 克隆远程仓库项目文件
sbw@sbw:~$ git clone git@git.allhome.com.cn:QJMIS-BED/BED_Store_Operation/BED_Store_Operation_java.git
正克隆到 'BED_Store_Operation_java'...
Permission denied (publickey).
fatal: 无法读取远程仓库。

请确认您有正确的访问权限并且仓库存在。
sbw@sbw:~$ cat .ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNlMp5l3SRCtcZngi8iemSAb2yoeK1aOWdQtLeKmL/K55DcFdQTSa9+4Rvl/Q0wAHErkXuP0kUB1QlSU8SbfdWyHfVxMXoDELn58u3shpScr3uv7DqJJKEF4r3Mt5Ru2lxpYYgFAZ8R2o6Uxc6B8VIHBFVPOm7E/o3h31GqrOhXChAZAV7m23lhhCUNvmM8s6/0cZ2uronc4qWUK4NXkviSbLjbyQGaZZVhYniF+ICjdgo9/qKRJKZIcUaEa2XgMDu4NjeGrPMKB2dJmrlXi/sABI/NcP+iJv+wDVKDEKTNAXaVa951VlDtxlDTX1PPceDl09vDtmc1TdcY7ntTcdR sbw@sbw
sbw@sbw:~$ git clone git@git.allhome.com.cn:QJMIS-BED/BED_Store_Operation/BED_Store_Operation_java.git
正克隆到 'BED_Store_Operation_java'...
remote: Counting objects: 6073, done.
remote: Compressing objects: 100% (69/69), done.
remote: Total 6073 (delta 32), reused 50 (delta 12)
接收对象中: 100% (6073/6073), 928.75 KiB | 1.28 MiB/s, 完成.
处理 delta 中: 100% (3333/3333), 完成.
sbw@sbw:~$ ls
BED_Store_Operation_java  Desktop  Documents  Downloads  gitlab-runner-test  Music  Pictures  qj  Videos  VirtualBox VMs  模板
sbw@sbw:~$ cd BED_Store_Operation_java
sbw@sbw:~/BED_Store_Operation_java$ rm -rf .git
  • 上传项目
sbw@sbw:~$ cd my-test-project/
sbw@sbw:~/my-test-project$ git init
已初始化空的 Git 仓库于 /home/sbw/my-test-project/.git/
sbw@sbw:~/my-test-project$ git remote add origin git@192.168.10.30:root/my-test-project-web.git
sbw@sbw:~/my-test-project$ git add .
sbw@sbw:~/my-test-project$ git commit -m "Initial commit"
[master (根提交) 5be1aea] Initial commit
 156 files changed, 26586 insertions(+)
 create mode 100644 .browserslistrc
 create mode 100644 .env.ago
 create mode 100644 .env.dev
 create mode 100644 .env.lan
...
sbw@sbw:~/my-test-project$ git push -u origin master
枚举对象: 226, 完成.
对象计数中: 100% (226/226), 完成.
使用 2 个线程进行压缩
压缩对象中: 100% (212/212), 完成.
写入对象中: 100% (226/226), 197.34 KiB | 3.95 MiB/s, 完成.
总共 226 (差异 33),复用 0 (差异 0)
remote: Resolving deltas: 100% (33/33), done.
To 192.168.10.232:root/my-test-project-web.git
 * [new branch]      master -> master
分支 'master' 设置为跟踪来自 'origin' 的远程分支 'master'
  • gitlab CI/CD流水线

在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值