【devops】二、Code阶段工具——容器部署Gitlab

简介: 【devops】二、Code阶段工具——容器部署Gitlab

准备工作


服务器 IP 要求
gitlab 192.168.2.210 有docker和docker-compose


二、Code阶段工具


还记得这张图嘛?

02c87f09b17547199d319a8ba4e8f82e.png

通过【DevOps介绍】这篇文章我们知道了整个软件的开发流程可以被划分为好多个小的步骤,这里就介绍一下再CODE阶段需要准备的工具。主要是Git和Gitlab,一般开发人员使用的比较多,开发人员需要将写好的代码上push到Git上面,供Jenkins拉取以及进行后面的操作。


在code阶段,我们需要将不同版本的代码存储到一个仓库中,常见的版本控制工具就是SVN或者Git,这里我们采用Git作为版本控制工具,GitLab作为远程仓库。


2.1 Git软件安装

https://git-scm.com/(傻瓜式安装下载软件)


2.2 Docker方式安装GitLab

这里需要单独准备一台服务器,作为gitlab服务端。

gitlab安装有两种方式,一种是使用docker run 命令运行部署;另一种是使用docker-compose.yml文件部署。这里使用第一种方式。


法一:docker run 命令部署Gitlab
# 1. 检查网络
docker network create devops-tier
sysctl -p
cat >> /etc/sysctl.conf<<EOF
net.ipv4.ip_forward=1
net.bridge.bridge-nf-call-iptables=1
net.ipv4.neigh.default.gc_thresh1=4096
net.ipv4.neigh.default.gc_thresh2=6144
net.ipv4.neigh.default.gc_thresh3=8192
EOF
#再次加载
sysctl -p
# 2. 创建挂载目录
mkdir /usr/local/docker/gitlab_docker/config -p
mkdir /usr/local/docker/gitlab_docker/logs -p
mkdir /usr/local/docker/gitlab_docker/data -p
# 3. docker run安装  
docker run -d --name gitlab --net=devops-tier \
--hostname gitlab \
-p 443:443 -p 80:80 -p 2222:22 \
--restart always \
--volume /usr/local/docker/gitlab_docker/config:/etc/gitlab \
--volume /usr/local/docker/gitlab_docker/logs:/var/log/gitlab \
--volume /usr/local/docker/gitlab_docker/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
# 4. 修改gitlab url
vi /usr/local/docker/gitlab_docker/config/gitlab.rb
顶部输入下面所有内容:
# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://192.168.1.100'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.2.210'      #这里是gitlab服务器的IP
# 此端口是run时22端口映射的2222端口
gitlab_rails['gitlab_shell_ssh_port'] = 2222


421818e23e764a54af64c7994039d8b0.png

法二:使用docker-compose.yml文件部署Gitlab
  1. 查看GitLab镜像
docker search gitlab


  1. 拉取GitLab镜像
docker pull gitlab/gitlab-ce:latest


  1. 准备docker-compose.yml文件
cd /usr/local/docker/gitlab_docker/
vim docker-compose.yml
version: '3.1'
services:
  gitlab:
    image: 'gitlab/gitlab-ce:latest'
    container_name: gitlab
    restart: always
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://192.168.2.210:8929'
        gitlab_rails['gitlab_shell_ssh_port'] = 2224
    ports:
      - '8929:8929'
      - '2224:2224'
    volumes:
      - './config:/etc/gitlab'
      - './logs:/var/log/gitlab'
      - './data:/var/opt/gitlab'


  1. 启动容器(需要稍等一小会……)
cd /usr/local/docker/gitlab_docker
docker-compose up -d


2.3 登录Gitlab网页


  1. 用IP访问GitLab首页

如果设置端口号不是默认的8080,则需要用IP+端口号访问

6a6db48e43b94bd68dce2e1d7c32b913.png

  1. 查看root用户初始密码
docker exec -it gitlab cat /etc/gitlab/initial_root_password

803e7a96916f4f7f80f8367f2f629bd1.png

3. 登录root用户

7217955d17354743b68307f9d1ab2908.png

第一次登录后需要修改密码

7e709f60d08d44ceb31d167500e7edfb.png

搞定后,即可像Gitee、GitHub一样使用。

相关文章
|
25天前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
309 11
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
20天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
12天前
|
持续交付 开发者 Docker
掌握Docker容器化技术,加速软件开发与部署
掌握Docker容器化技术,加速软件开发与部署
36 0
|
20天前
|
前端开发 开发者 Docker
深入探索Docker Compose:简化多容器应用的部署
深入探索Docker Compose:简化多容器应用的部署
54 0
|
2月前
|
Kubernetes Cloud Native 流计算
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
Flink-12 Flink Java 3分钟上手 Kubernetes云原生下的Flink集群 Rancher Stateful Set yaml详细 扩容缩容部署 Docker容器编排
77 3
|
2月前
|
运维 Kubernetes 监控
掌握Docker容器化技术:构建、部署与管理的高效实践
【10月更文挑战第14天】掌握Docker容器化技术:构建、部署与管理的高效实践
56 0
|
3月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
2月前
|
运维 Prometheus 监控
提升运维效率:容器化技术与自动化工具的结合
在当今信息技术飞速发展的时代,运维工作面临着前所未有的挑战。为了应对这些挑战,本文将探讨如何通过结合容器化技术和自动化工具来提升运维效率。我们将介绍容器化技术的基本概念和优势,然后分析自动化工具在运维中的应用,并给出一些实用的示例。通过阅读本文,您将了解到如何利用这些先进技术来优化您的运维工作流程,提高生产力。
|
3月前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
217 3
|
4月前
|
敏捷开发 缓存 前端开发
阿里云云效产品使用合集之前端打包时npm安装卡住一般是什么导致的
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。