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

相关文章
|
11天前
|
弹性计算 数据可视化 安全
高效部署企业门户网站【阿里云云效平台详细指南】
使用阿里云云效部署企业网站涉及备案域名、ECS、VPC、云效代码仓库和流水线。一键部署通过ROS快速配置,手动部署则需详细配置流水线,包括代码源、构建、部署到ECS。整个流程约10分钟,但需注意网络问题可能导致的异常。一键部署适合快速启动,手动部署适合定制化。文档详细,但可增加常见问题解答和自动化脚本支持。
4649 3
高效部署企业门户网站【阿里云云效平台详细指南】
|
23天前
|
弹性计算 运维 持续交付
构建与部署企业门户网站:阿里云云效解决方案评测
在数字化时代,企业门户网站作为企业形象的线上窗口,其建设和运维效率直接影响着企业的在线品牌形象与用户体验。阿里云提供的“构建企业门户网站”解决方案,借助云效平台实现从代码到云端的无缝部署,为开发者和企业带来了前所未有的便捷性与效率。
358 5
构建与部署企业门户网站:阿里云云效解决方案评测
|
5天前
|
安全 关系型数据库 开发者
Docker Compose凭借其简单易用的特性,已经成为开发者在构建和管理多容器应用时不可或缺的工具。
Docker Compose是容器编排利器,简化多容器应用管理。通过YAML文件定义服务、网络和卷,一键启动应用环境。核心概念包括服务(组件集合)、网络(灵活通信)、卷(数据持久化)。实战中,编写docker-compose.yml,如设置Nginx和Postgres服务,用`docker-compose up -d`启动。高级特性涉及依赖、环境变量、健康检查和数据持久化。最佳实践涵盖环境隔离、CI/CD、资源管理和安全措施。案例分析展示如何构建微服务应用栈,实现一键部署。Docker Compose助力开发者高效驾驭复杂容器场景。
16 1
|
9天前
|
敏捷开发 弹性计算 负载均衡
阿里云云效产品使用问题之如何将应用部署到部署组的某一台特定服务器上
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
12天前
|
监控 Devops 测试技术
DevOps实践:持续集成与持续部署(CI/CD)在现代软件开发中的作用
【6月更文挑战第24天】本文深入探讨了持续集成(Continuous Integration,简称CI)和持续部署(Continuous Deployment,简称CD)在现代软件开发生命周期中的核心作用。通过阐述CI/CD的概念、优势以及实施策略,文章旨在为读者提供一套完整的理论框架和实践指南,以促进软件开发流程的高效性和产品质量的提升。
|
13天前
|
域名解析 弹性计算 网络协议
阿里云云效企业门户网站部署解决方案全面测评
测评范围:账号注册、ECS实例创建、代码管理、流水线配置、域名解析。 优点: 注册登录简便,ECS创建直观,代码托管顺畅,云效项目创建与配置流程清晰,一键部署便捷。 改进点: 提供更多操作提示,增强新手引导,增加模板和最佳实践,优化大文件上传性能,完善容错机制。 结论: 云效提供高效企业门户解决方案,适合快速部署,需进一步优化高级功能和用户体验。
|
16天前
|
运维 Devops 测试技术
DevOps:文化、工具与实践的深度融合
【6月更文挑战第21天】DevOps融合文化、工具与实践,促进开发与运维协作,加速软件交付。核心包括共享文化、自动化工具(如Git、Jenkins)与流程优化(敏捷、自动化、微服务)。DevOps助力团队协作,提高效率,降低运维成本,驱动企业持续创新与成长。
|
19天前
|
运维 监控 Devops
DevOps实践:持续集成与持续部署(CI/CD)的精髓
【6月更文挑战第17天】本文将深入探讨DevOps文化中的核心实践——持续集成(CI)和持续部署(CD)。我们将从理论出发,逐步过渡到实际操作,介绍如何搭建一个高效的CI/CD流程。文章将涵盖工具选择、流程设计、自动化测试以及监控和反馈机制的建立。通过具体案例分析,揭示成功实施CI/CD的关键因素,并探讨如何在组织内推广这一实践以促进开发和运维之间的协作。
|
26天前
|
运维 监控 Devops
云效DevOps:不仅仅是工具,更是思维方式的转变
【6月更文挑战第11天】云效DevOps是软件行业的 game changer,超越技术工具层面,推动协作、自动化和持续改进的思维转型。它连接开发、测试、运维,强化团队协作,通过自动化提升效率和准确性,减少人为错误。示例展示了自动化构建过程,强调每次迭代都是改进机会,促进项目持续优化和竞争力提升。
|
3天前
|
缓存 Devops 微服务
微服务01好处,随着代码越多耦合度越多,升级维护困难,微服务技术栈,异步通信技术,缓存技术,DevOps技术,搜索技术,单体架构,分布式架构将业务功能进行拆分,部署时费劲,集连失败如何解决
微服务01好处,随着代码越多耦合度越多,升级维护困难,微服务技术栈,异步通信技术,缓存技术,DevOps技术,搜索技术,单体架构,分布式架构将业务功能进行拆分,部署时费劲,集连失败如何解决