淘东电商项目(07) -GitLab简介以及Docker部署

简介: 淘东电商项目(07) -GitLab简介以及Docker部署

引言

在上一节《淘东电商项目(06) - Linux固定IP设置以及安装Docker》主要讲解Linux的固定ip设置以及在Linux上安装Docker。

代码已提交至Github(版本号:c11f3e9a27a175f3132c644148f4a2f2930fcc70),有兴趣的同学可以下载来看看:

https://github.com/ylw-github/taodong-shop

本文继续讲解分布式基础设施环境的搭建,主要讲解GitLab以及在Docker上部署GitLab。

本文目录结构:

l____引言

l____ 1. GitLab

l________ 1.1 GitLab简介

l________ 1.2 Git、GtiHub、GtiLab三者关系

l____ 2. Docker上部署GitLab

l____ 3. 测试

l____总结

1.GitLab

1.1 GitLab简介

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务

1.2 Git、GtiHub、GtiLab三者关系

  • Git: 是版本控制系统
  • GitHub: 是在线的基于Git的代码托管服务,2008年由Ruby on Rails编写而成。GitHub同时提供付费账户和免费账户。这两种账户都可以创建公开的代码仓库,只有付费账户可以创建私有的代码仓库。
  • GitLab: 解决了这个问题, 可以在上面创建免费的私人repo。

2. Docker上部署GitLab

部署之前首先要确保如下两点:

  • 1. 虚拟机内存2G以上
  • 2. Docker一定要配置国内加速镜像,比如“阿里云”(不然下载会很慢)

1.下载镜像文件:

docker pull beginor/gitlab-ce:11.0.1-ce.0

2.创建GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录。

mkdir -p /mnt/gitlab/etc
mkdir -p /mnt/gitlab/log
mkdir -p /mnt/gitlab/data

3.运行GitLab容器

docker run \
    --detach \
    --publish 8443:443 \
    --publish 8090:80 \
    --name gitlab \
    --restart unless-stopped \
    -v /mnt/gitlab/etc:/etc/gitlab \
    -v /mnt/gitlab/log:/var/log/gitlab \
    -v /mnt/gitlab/data:/var/opt/gitlab \
    beginor/gitlab-ce:11.0.1-ce.0

4.修改/mnt/gitlab/etc/gitlab.rb:

external_url改成部署机器的域名或者IP地址

vi /mnt/gitlab/etc/gitlab.rb

5.修改/mnt/gitlab/data/gitlab-rails/etc/gitlab.yml

vi /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml

找到关键字 ## Web server settings,将host的值改成映射的外部主机ip地址和端口,这里会显示在gitlab克隆地址:

6.停止容器并删除容器

docker ps
docker stop 容器id
docker rm 容器id

7.运行GitLab容器

docker run \
    --detach \
    --publish 8443:443 \
    --publish 8090:80 \
    --name gitlab \
    --restart unless-stopped \
    -v /mnt/gitlab/etc:/etc/gitlab \
    -v /mnt/gitlab/log:/var/log/gitlab \
    -v /mnt/gitlab/data:/var/opt/gitlab \
    beginor/gitlab-ce:11.0.1-ce.0

8.浏览器访问:http://192.168.162.134:8090,需要等待比较久,可能会提示如下界面:

不着急,再等一会,因为gitLab正在启动需要时间,启动完成后,可以显示如下界面。

如果还是访问失败,可以尝试关闭防火墙

shell systemctl stop firewalld

8.设置密码

在修改页面设置初始密码,我的设置为12345678,并点击“修改密码”。

9.登录

账号为:root 密码为刚设置的:12345678

登录成功后,界面如下:

3. 测试

这里创建一个HelloWorld项目,并赋予权限给新的用户ylw。

1.在主界面点击“创建一个群组”

2.新建项目:

3.仓库的url:http://192.168.162.134/test/HelloWorld-Test.git如下:

4.退出到主页面,注册用户,注册成功后,主页面是没有仓库的。

5.登录root账户,进入项目,分配项目权限给新增的用户

6.选择人员和角色权限

7.再使用新增的账户登录,发现主页面有了项目了。

之后的之后的操作和github大致相同,可以提交更新上传文件等,由于篇幅原因,本文就不再详述。

总结

目录
相关文章
|
11天前
|
数据采集 存储 Docker
深入理解Docker:为你的爬虫项目提供隔离环境
本教程介绍如何使用Docker构建隔离环境,运行Python爬虫项目,采集小红书视频页面的简介和评论。主要内容包括: 1. **Docker隔离环境**:通过Docker容器化爬虫,确保环境独立、易于部署。 2. **代理IP技术**:利用亿牛云爬虫代理突破反爬限制。 3. **Cookie与User-Agent设置**:伪装请求头,模拟真实用户访问。 4. **多线程采集**:提高数据采集效率。 前置知识要求:Python基础、Docker基本操作及HTML解析(可选)。教程还涵盖常见错误解决方法和延伸练习,帮助你优化爬虫代码并避免陷阱。
深入理解Docker:为你的爬虫项目提供隔离环境
|
4月前
|
运维 网络安全 持续交付
IDEA+Docker 远程一键部署项目:技术干货分享
【10月更文挑战第4天】在现代软件开发中,快速、可靠、自动化的部署流程是提升开发效率和运维质量的关键。IDEA(IntelliJ IDEA)作为Java开发者首选的IDE,结合Docker这一轻量级容器化技术,能够实现远程一键部署项目,极大地简化了开发到生产的流程。今天,我将和大家分享这一组合在工作学习中的实际应用和技术干货。
459 3
|
4月前
|
Java Maven Docker
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用
|
2月前
|
关系型数据库 应用服务中间件 PHP
实战~如何组织一个多容器项目docker-compose
本文介绍了如何使用Docker搭建Nginx、PHP和MySQL的环境。首先启动Nginx容器并查看IP地址,接着启动Alpine容器并安装curl测试连通性。通过`--link`方式或`docker-compose`配置文件实现服务间的通信。最后展示了Nginx配置文件和PHP代码示例,验证了各服务的正常运行。
86 3
实战~如何组织一个多容器项目docker-compose
|
3月前
|
关系型数据库 MySQL Java
【Docker最新版教程】一文带你快速入门Docker常见用法,实现容器编排和自动化部署上线项目
Docker快速入门到项目部署,MySQL部署+Nginx部署+docker自定义镜像+docker网络+DockerCompose项目实战一文搞定!
|
4月前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
915 3
|
4月前
|
运维 Linux 开发工具
第22篇 如何部署gitLab进行开发版本控制
第22篇 如何部署gitLab进行开发版本控制
|
4月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
126 0
|
5月前
|
存储 Linux Docker
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
关于如何在CentOS 7.6上安装Docker、介绍Docker存储引擎以及服务进程关系的实战案例。
264 3
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
|
4月前
|
Docker 容器
如何利用docker来部署war包项目
本文介绍了如何使用Docker来部署WAR包项目,包括编写Dockerfile和docker-compose.yml文件,以及如何通过Docker Compose启动服务。
124 0