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)