资讯专栏INFORMATION COLUMN

使用Docker安装Gitlab及相关配置

fasss / 2954人阅读

摘要:最近在学习自动化部署的一些内容,自动化部署,涉及到的内容有等内容,今天通过玩了一遍,下面是一些心得安装安装服务实在是太方便,我们通过来安装,运行如下命令查看的镜像文件搜索镜像看到镜像有很多,如果这一项下面是表示为官方的镜像,我这里使用第四个

最近在学习自动化部署的一些内容,自动化部署,涉及到的内容有Docker、Jenkins、Gitlab等内容,今天通过docker玩了一遍gitlab,下面是一些心得

安装Gitlab

Docker安装服务实在是太方便,我们通过docker来安装Gitlab,运行如下命令查看Gitlab的镜像文件

搜索镜像

sudo docker search gitlab


看到镜像有很多,如果OFFICIAL这一项下面是[OK] 表示为官方的镜像,我这里使用第四个,因为这是中文版的,鄙人英语不好,还是看中文版的比较舒服。
其实,中文版也就是安装了一个语言包而已,有兴趣可以自己安装第一个,然后再手动配置中文包

下载镜像

sudo docker pull twang2218/gitlab-ce-zh

启动服务

docker run -d -p 8443:443 -p 8090:80 -p 8022:22 --restart always --name gitlab -v /usr/local/gitlab/etc:/etc/gitlab -v /usr/local/gitlab/log:/var/log/gitlab -v /usr/local/gitlab/data:/var/opt/gitlab --privileged=true twang2218/gitlab-ce-zh

查看启动情况

// 添加-a 参数,把启动的,没有启动的都列出来
sudo docker ps

配置Gitlab

配置的时候,我们需要进入容器当中配置,如果直接修改我们映射到容器外部的配置文件,总会出现一些奇怪的问题,为了避免出现问题,尽量按照如下操作流程进行相关的配置和测试

第一步:进入容器

sudo docker exec -it gitlab bash


第二步:修改gitlab.rb文件

sudo cd /etc/gitlab
sudo vim gitlab.rb


第三步:修改IP和端口

该部分内容的修改是为了解决,我们再gitlab创建项目的时候,项目访问地址是容器id的问题

// 可以使用/ 来查找关键字,找到指定的内容,然后通过n来下一个查找

// 在gitlab创建项目时候http地址的host(不用添加端口)
external_url "http://xx.xx.xx.xx"

// 在gitlab创建项目时候ssh地址的host
gitlab_rails["gitlab_ssh_host"] = "xx.xx.xx.xx"(不用添加端口)

# docker run 的时候我们把22端口映射为外部的8022了,这里修改下
gitlab_rails["gitlab_shell_ssh_port"] = 8022


第四步:修改邮箱

在gitlab.rb文件的最后添加如下代码

# 是否启用
gitlab_rails["smtp_enable"] = true
# SMTP服务的地址
gitlab_rails["smtp_address"] = "smtp.qq.com"
# 端口
gitlab_rails["smtp_port"] = 465
# 你的QQ邮箱(发送账号)
gitlab_rails["smtp_user_name"] = "958317640@qq.com"
# 授权码
gitlab_rails["smtp_password"] = "********"
# 域名
gitlab_rails["smtp_domain"] = "smtp.qq.com"
# 登录验证
gitlab_rails["smtp_authentication"] = "login"

# 使用了465端口,就需要配置下面三项
gitlab_rails["smtp_enable_starttls_auto"] = true
gitlab_rails["smtp_tls"] = true
gitlab_rails["smtp_openssl_verify_mode"] = "none"

# 你的QQ邮箱(发送账号)
gitlab_rails["gitlab_email_from"] = "958317640@qq.com"

第五步:应用配置

sudo gitlab-ctl reconfigure

第5.1步:修改port
修改gitlab.yml文件

// 文件路径 /opt/gitlab/embedded/service/gitlab-rails/config

sudo cd /opt/gitlab/embedded/service/gitlab-rails/config
vim gitlab.yml
// 修改port 为8090

第六步:重启服务

sudo gitlab-ctl restart

第七步:验证邮箱服务

// 在容器中进入命令行
sudo gitlab-rails console

// 测试邮件发送
sudo Notify.test_email("xxx@163.com","title","gitlab").deliver_now

// 退出命令行
sudo exit

// 退出容器
sudo exit
常用命令

启动

// 第一次启动
// 这部分命令不能直接copy,格式化只是为了方便看
docker run -d 
-p 8443:443 
-p 8090:80 
-p 8022:22 
--restart always 
--name gitlab 
-v /usr/local/gitlab/etc:/etc/gitlab 
-v /usr/local/gitlab/log:/var/log/gitlab 
-v /usr/local/gitlab/data:/var/opt/gitlab 
--privileged=true 
twang2218/gitlab-ce-zh


// 如果停止了,用start启动
docker start 

-d在后台启动

-p 8443:443 把容器中应用的端口443映射为外部的8443端口

-p 8090:80 把容器中应用的端口80映射为外部的8090端口

-p 8443:443 把容器中应用的端口443映射为外部的8443端口

--restart 重启配置

--name 容器启动之后的名字

-v 把容器中的配置,日志,数据映射到容器外部

通过--name配置了gitlab的名字之后,我们后续可以通过这个name对容器进行相关的启动和停止操作

容器外停止

sudo docker stop gitlab
// 这里的gitlab 就是我们上一步docker run 当中使用--name 配置的名字

容器外重启

sudo docker restart gitlab

进入容器命令行

sudo docker exec -it gitlab bash

容器中应用配置

sudo gitlab-ctl reconfigure

容器中重启服务

sudo gitlab-ctl restart

服务地址
以下是我的gitlab服务地址,仅供测试使用,后面可能会删除,大家不要使用哈

http://118.31.225.185:8090
注意事项

如果您使用的是阿里云服务器,需要在安全组里面把你想要对外开放的端口打开,否则是无法访问的

鄙人第一次捣鼓这个,里面的有些概念和配置也许说的不太对,有比较懂得朋友可以指导一二,一定感激。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/37263.html

相关文章

  • 使用Docker安装Gitlab相关配置

    摘要:最近在学习自动化部署的一些内容,自动化部署,涉及到的内容有等内容,今天通过玩了一遍,下面是一些心得安装安装服务实在是太方便,我们通过来安装,运行如下命令查看的镜像文件搜索镜像看到镜像有很多,如果这一项下面是表示为官方的镜像,我这里使用第四个 最近在学习自动化部署的一些内容,自动化部署,涉及到的内容有Docker、Jenkins、Gitlab等内容,今天通过docker玩了一遍gitla...

    Joonas 评论0 收藏0
  • 使用 Docker 搭建 GitLab

    摘要:作为互联网工作者,相信对这个全球最大的同性交友网站一定不会陌生,使用的是目前如日中天的分布式版本控制系统。等这个状态变成时则说明已经部署完成,可以访问了。修改完成后,输入命令使配置生效,然后重启即可。 showImg(https://segmentfault.com/img/remote/1460000018991664); 作为互联网工作者,相信对 GitHub 这个 全球最大的同性...

    JeOam 评论0 收藏0
  • 使用 Docker 搭建 GitLab

    摘要:作为互联网工作者,相信对这个全球最大的同性交友网站一定不会陌生,使用的是目前如日中天的分布式版本控制系统。等这个状态变成时则说明已经部署完成,可以访问了。修改完成后,输入命令使配置生效,然后重启即可。 showImg(https://segmentfault.com/img/remote/1460000018991664); 作为互联网工作者,相信对 GitHub 这个 全球最大的同性...

    孙淑建 评论0 收藏0
  • DevOps 基于Walle的小型持续集成实战(三)DockerGitlab

    摘要:自动化测试和持续集成发布。在服务型环境中部署和调整数据库或其他的后台应用。容器与镜像的关系类似于面向对象编程中的对象与类。容器容器是独立运行的一个或一组应用。提供了庞大的镜像集合供使用。 还在按照mysql安装教程一步一步配置服务配置账户吗?还在为每开一个新环境重新配置这些服务感到苦恼吗?使用Docker,服务快速构建部署。解决你的研发时间,早点下班~现代技术,还不会docker你就落...

    since1986 评论0 收藏0
  • Docker GitLab CI 在前端工作流上的实践分享(一)

    摘要:如今前端工程越来越复杂,打造一个好用的工作流也显得越来越重要。如果用户启动容器时指定了运行的命令,则会覆盖掉指定的命令。个人感觉在项目多协作人数多的情况下,还是很方便的。 showImg(https://segmentfault.com/img/remote/1460000011553749?w=1100&h=225); 如今前端工程越来越复杂,打造一个好用的工作流也显得越来越重要。本...

    wyk1184 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<