【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一样使用。

相关文章
|
2月前
|
Java Maven Docker
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用
|
1月前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
580 11
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
22天前
|
存储 安全 数据中心
Docker 容器凭借轻量级和高效的特性,成为应用部署的重要工具
Docker 容器凭借轻量级和高效的特性,成为应用部署的重要工具。本文探讨了 Docker 如何通过 Namespace 和 Cgroups 实现 CPU、内存、网络和存储资源的隔离,提高系统安全性和资源利用率,以及面临的挑战和应对策略。
37 1
|
1月前
|
机器学习/深度学习 数据采集 Docker
Docker容器化实战:构建并部署一个简单的Web应用
Docker容器化实战:构建并部署一个简单的Web应用
|
1月前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
1月前
|
持续交付 开发者 Docker
掌握Docker容器化技术,加速软件开发与部署
掌握Docker容器化技术,加速软件开发与部署
51 0
|
1月前
|
前端开发 开发者 Docker
深入探索Docker Compose:简化多容器应用的部署
深入探索Docker Compose:简化多容器应用的部署
67 0
|
2月前
|
运维 Linux 开发工具
第22篇 如何部署gitLab进行开发版本控制
第22篇 如何部署gitLab进行开发版本控制
|
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容器编排
93 3
|
2月前
|
运维 Kubernetes 监控
掌握Docker容器化技术:构建、部署与管理的高效实践
【10月更文挑战第14天】掌握Docker容器化技术:构建、部署与管理的高效实践
86 0