当前位置:首页 > 技术文章 > 正文内容

傻瓜式DEVOPS实践手册——Gitlab部署

zonemu2个月前 (07-08)技术文章33

GitLab是一款开放源代码的DevOps平台,用于实现从项目规划、源代码管理、CI/CD到监控和安全性的全方位集成。GitLab主要用于版本控制、协同开发、持续集成/持续部署 (CI/CD)、自动化测试、项目管理、以及安全性管理。在诸多功能中,版本控制是GitLab最为核心的功能之一,它允许多名开发人员在统一项目中进行并行开发,通过Git进行代码的合并、分支、提交和版本回退,有效提高软件开发效率和团队协作能力

GitLab Runner 是一个开源项目,用于运行您的作业并将结果发送回 GitLab。它与 GitLab CI 结合使用,GitLab CI 是 GitLab 随附的用于协调作业的开源持续集成服务。使用场景跟Jenkins类似。

准备工作

  • 外挂目录创建
mkdir -p /opt/package/test/config /opt/package/test/logs /opt/package/test/data
    • /opt/package/gitlab/config 挂载主机配置目录
    • /opt/package/gitlab/logs 挂载主机日志目录
    • /opt/package/gitlab/data 挂载主机数据目录
  • docker-compose.yml创建
services:
  gitlab:
    image: gitlab/gitlab-ce:latest #默认使用最新版,也可以指定版本号
    container_name: gitlab
    restart: always
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://192.168.56.10:8090'
        gitlab_rails['gitlab_shell_ssh_port'] = 8022
        nginx['listen_port'] = 80
        nginx['listen_https'] = false
        postgresql['shared_buffers'] = "256MB"
        gitlab_rails['gitlab_shell_ssh_port'] = 8022
      GITLAB_ROOT_PASSWORD: 'gitlab2024#' #登录账号密码,省的部署后到文件再去查找
    ports:
      - "8090:80"      # 将主机端口80映射到容器端口80
      - "8022:22"    # 将主机端口2222映射到容器端口22
    volumes:
      - /opt/package/gitlab/config:/etc/gitlab   # 挂载主机配置目录到容器
      - /opt/package/gitlab/logs:/var/log/gitlab  # 挂载主机日志目录到容器
      - /opt/package/gitlab/data:/var/opt/gitlab  # 挂载主机数据目录到容器
    networks:
      - gitlab-network

networks:
  gitlab-network:
    driver: bridge
    • external_url 登录的URL地址,记得要带上端口号,端口号要跟映射的端口号一样
    • volumes 数据卷挂载,这里的目录就是前面创建的目录,且要有写权限
  • 整体目录结构如下
./gitlab
├── config
├── data
├── docker-compose.yml
└── logs

部署执行

  • 在gitlab目录下执行如下命令
docker-compose up -d

等一会,查看容器状态,等为healthy时就可以访问了

基本设置

  • 中文设置
  • 新建项目

新建一个验证项目,需要包含dockerfile、.gitlab-ci.yml,后面做CD、CD会用到这两个文件

整个DEVOPS实践手册我已经整理成PDF文档,想要的关注我留言即可

相关文章

Gitlab 的使用和代码审查流程介绍

1、先简洁介绍下项目常用的信息-面板统计页面2、用户信息面板3、服务器信息4、项目信息5、重点介绍代码提交审核机制和授权合并机制开发人员推送代码的时候不能直接推送到master,否则就会报错。此时开发...

web前端入门:css+html5+javascript同时学可以吗?

HTML+CSS+JS是前端基础核心知识,肯定是都要学的。在web前端中,HTML是结构标准,CSS是样式标准,JS是行为标准,三者缺一不可。说的直白点,HTML就是骨架,CSS就是皮肤,JS就是灵魂...

2个将HTML5打包成app的方法(h5打包成android)

越来越多的开发者热衷于使用html5+JavaScript开发移动Web App。不过,HTML5 Web APP的出现能否在未来取代移动应用,就目前来说,还是个未知数。那么,有什么办法,既可以使用H...

聊城职院获省赛“HTML5交互融媒体内容设计与制作”赛项一等奖

11月25日,山东省职业院校技能大赛(高职组)“HTML5交互融媒体内容设计与制作”赛项在威海海洋职业学院学院圆满结束。学校信息工程系由计算机应用技术专业学生张慧、冯媛、王海阔三名学生组成的参赛团队,...

在html5页面中如何使用vue3(html页面引入vue组件)

今天是2021.7.14,是个好日子.好久没发布文章了.今天发布下如何在在html页面中使用vue3.义县游学电子科技一直以技术文章为主.以下是h5的页面源码:<html><scri...

最快认知什么才是HTML5广告!(h5广告设计是什么)

H5广告似乎是自UI风靡之后,又一个热度极高的词儿。他是什么?一个字母加一个数字是个什么意思? 为什么如此受欢迎?金色号角会议室,创作事业部赵阳同学就HTML5广告做了详尽生动的分享,带大家一起用手机...