docker部署gitlab CI/CD 第一篇:部署gitlab及汉化

Posted 戈凹高

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker部署gitlab CI/CD 第一篇:部署gitlab及汉化相关的知识,希望对你有一定的参考价值。

  网上很多类似教程,但多少有点夹带私货,竟然拉取的第三方镜像,不敢乱用,于是结合其他人的博客和官方文档,结合部分作者的笔误踩的坑,知其然也要知其所以然,于2023年4月17日写下这篇。

官方文档:

  https://docs.gitlab.com/ee/install/docker.html

主要参考博客:

  https://www.cnblogs.com/diaomina/p/12830449.html 

这篇文档很通顺,但中途有错误,需结合评论一起食用,而且怀疑步骤多余,因为我只把镜像启动就部署成功了

建议:

  1.服务器内存建议大于4G,抄自:https://about.gitlab.com/install/

作者环境:

  CentOS7

开始:

  #1.拉取gitlab镜像

docker pull gitlab/gitlab-ce

ee是企业版,ce是社区版

  #2.运行gitlab

docker run \\
 -itd  \\
 -p 9080:80 \\
 -p 9022:22 \\
 -v /home/gitlab/etc:/etc/gitlab  \\
 -v /home/gitlab/log:/var/log/gitlab \\
 -v /home/gitlab/opt:/var/opt/gitlab \\
 --restart always \\
 --privileged=true \\
 --name gitlab \\
 gitlab/gitlab-ce

解释:

非要头铁用80和22端口也行,就是一般来说早就被占用了

-i  以交互模式运行容器,通常与 -t 同时使用命令解释:

-t  为容器重新分配一个伪输入终端,通常与 -i 同时使用

-d  后台运行容器,并返回容器ID

-p 9080:80  将容器内80端口映射至宿主机9080端口,这是访问gitlab的端口

-p 9022:22  将容器内22端口映射至宿主机9022端口,这是访问ssh的端口

-v /home/gitlab/etc:/etc/gitlab  将容器/etc/gitlab目录挂载到宿主机目录下,若宿主机内此目录不存在将会自动创建,其他两个挂载同这个一样

--restart always  容器自启动

--privileged=true  让容器获取宿主机root权限

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

gitlab/gitlab-ce  镜像的名称,这里也可以写镜像ID

  #3.查看初始密码

sudo docker exec -it <CONTAINERID> grep \'Password:\' /etc/gitlab/initial_root_password

<CONTAINERID>为你的容器ID,注意不用进入到容器内部

  #4 浏览器访问gitlab地址:192.168.5.128:9080

不出意外的话会出现如下界面,账号是root,

如果出现意外,那就考虑一下防火墙问题或移至顶部参考博客,因为在公司我参考那片博客一步不落的搞了一遍,没有问题。

这个界面比较新,因为前几天我在公司部署后跟大部分文档界面一样,左侧有说明文字,今天在家部署,可能版本有更新变简洁了。当前版本:15.10

  #5.关闭注册

 自己或公司的gitlab,肯定不能开放注册,一般登录后进首页会提示你关闭注册,不过没关系,这里告诉你怎么手动关闭

 把这两个取消勾选,然后点保存

  #6.汉化

找到Localization,选择简体中文,保存,刷新页面

   #7.修改密码

之前不知道哪看的博客说这个自带的密码只会保留24小时,反正这么复杂也不好记,修改一下密码

 左侧点击密码,自行修改,完了会让你重新登录

  #8.首页汉化

重新到了登录界面才发现,底部也有一个语言选项

 选择简体中文,完事

  #8.结束

Gitlab CI/CD自动部署方案探索

   

如上图所示,当我们提交代码到 GitLab 仓库后,满足指定条件后就会触发 Pipeline 进行自动化构建、测试、发布等。

Gitlab

gitlab是做代码的版本管理,gitlab本身就用CI/CD的功能,原定是使用gitlab+Jenkins+Docker的流行部署框架的,但是gitlab-runner配置简单,很容易与gitlab集成。当新建一个项目的时候,不需要配置webhook回调地址,也不需要同时在jenkins新建这个项目的编译配置,只需在工程中配置gitlab-ci.yml文件,就可以让这个工程可以进行编译。

 

在gitlab你的project下面,需要新建一个.gitlab-ci.yml文件.

.gitlab-ci.yml 文件

.gitlab-ci.yml 文件是一个申明式配置文件,放在项目的根目录下,用 stages 定义 Gi

以上是关于docker部署gitlab CI/CD 第一篇:部署gitlab及汉化的主要内容,如果未能解决你的问题,请参考以下文章

设置 GitLab CI/CD 以将多个存储库部署到 DigitalOcean Droplet 上的 Docker 容器

如何搭建自己的CI/CD平台:Gitlab+Jenkins+Docker+Harbor+K8s集群搭建CICD平台(持续集成部署Hexo博客Demo)

GitLab ci/cd部署环境构建

Gitlab CI/CD自动部署方案探索

Gitlab CI/CD自动部署方案探索

Gitlab CI/CD自动部署方案探索