通过Docker Compose部署GitLab和GitLab Runner(一)

news/2024/9/29 21:34:01

GitLab 是一个用于版本控制、项目管理和持续集成的开源软件平台,它提供了一整套工具,能够帮助团队高效地协作开发。而 GitLab Runner 则是 GitLab CI/CD 的执行者,用于运行持续集成和持续交付任务。

在本文中,我们将使用 Docker Compose 来快速部署 GitLab 和 GitLab Runner。Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具,它通过一个 YAML 文件来配置服务的运行方式。

编写 Docker Compose 文件

首先,我们需要创建一个名为 docker-compose.yml 的文件,并将以下内容添加到文件中:

version: '3.8'services:  gitlab:
    image: gitlab/gitlab-ce:latest
    container_name: gitlab
    restart: always
    environment:
      TZ: 'Asia/Shanghai'
      GITLAB_OMNIBUS_CONFIG: |
        # 对外访问gitlab地址,可以使用本机IP
        external_url 'http://192.168.184.200:9080'
        gitlab_rails['gitlab_shell_ssh_port'] = 9022
    ports:
      - '9080:9080' # 注意宿主机和容器内部的端口要一致,否则external_url无法访问
      - '9443:443'
      - '9022:22'
    volumes:
      - '/opt/store/gitlab/config:/etc/gitlab'
      - '/opt/store/gitlab/logs:/var/log/gitlab'
      - '/opt/store/gitlab/data:/var/opt/gitlab'
    shm_size: '1g'  gitlab-runner:
    image: 'gitlab/gitlab-runner:latest'
    container_name: "gitlab-runner"
    restart: always
    volumes:
      - '/opt/store/gitlab-runner:/etc/gitlab-runner'
      - '/var/run/docker.sock:/var/run/docker.sock' #这个挂载是将宿主机上的docker socket挂载到了容器内,这样容器内执行的docker命令会被宿主机docker daemon最终执行

在这个 Docker Compose 文件中,我们定义了两个服务:GitLab 和 GitLab Runner。GitLab 服务使用 gitlab/gitlab-ce:latest 镜像,而 GitLab Runner 使用 gitlab/gitlab-runner:latest 镜像。我们设置了各种环境变量、端口映射和卷挂载,以确保 GitLab 和 GitLab Runner 正常运行,并且能够持久化数据。

启动服务

完成 Docker Compose 文件的编写后,我们可以使用以下命令来启动服务:

docker-compose up -d

这将会启动 GitLab 和 GitLab Runner 服务,并且以后台模式运行。你可以使用 docker ps 命令来验证服务是否已经成功启动。

访问 GitLab

一旦服务启动成功,就可以通过浏览器访问 GitLab。在本例中,我们将 GitLab 设置为在 http://192.168.184.200:9080 地址上运行。只需在浏览器中输入该地址,即可访问 GitLab 界面。

第一次登录时,默认用户名是root,其初始密码需要通过以下方式获取:

docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

图片

登录成功之后,需要更改初始密码,毕竟那一串初始密码根本记不住(_)

图片

总结

通过Docker Compose的方式部署GitLab非常方便快捷,下一篇将介绍GitLab自带的CI/CD功能如何使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/29969.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

d3d12龙书阅读----绘制几何体(下)

d3d12龙书阅读----绘制几何体(下) 本节在上一节的基础上,对整个绘制过程进行优化,将绘制单个几何体的内容拓展到了多个几何体,同时对根签名进行了进一步地探索。 帧资源 在之前绘制每帧的结尾,我们都要使用flushingcommandqueue方法,要一直等待gpu执行完所有命令,才会继…

如何使用postman测试带Token的登录以及其他的测试接口

参考文章:https://blog.csdn.net/xzytl60937234/article/details/845009371.Postman设置变量并访问 点击右上角眼睛,在Globals选项中,选择edit 然后add 在弹出的页面中:,填写token 填写成功之后,右下角,点击save 在登录接口中,Test 选项中加入以下代码 var data = JSO…

PTA-1002

原先主要错误: 没有考虑到有关0的相关情况观看的大佬代码整理思路无非就是在相同的指数的情况下,系数相加 因为最后是要从大到小输出来。注意要对最后的结果进行四舍五入; PTA的英语题对英语不好的我真心不友好。#include<map> #include<cmath> #include<iost…

【笔记】通过目标编码和分类损失的神经场分类器【ICLR2024】

这是一篇发表在 ICLR 2024 会议上的学术论文的阅读笔记,题为“通过目标编码和分类损失的神经场分类器”,作者来自北京交通大学和百度研究院。 为什么会找到这篇文章,因为文章的一个作者是HKUST一个基础实验室的,搞的是偏底层的算法理论,所以自然就顺下来了。但是看完之后发…

winform开发杂碎知识点

1、Form属性 起始位置:StartPosition 默认最大化:WindowState 最小尺寸:MinimumSize 是否父窗体:IsMdiContainer ImeMode 图标:icon2、Form事件3、Location 元素相对父控件或父元素的位置1 this.panelLogin.BackColor = System.Drawing.Color.White;2 this.p…

【软件构造课程相关】幻方及其构造(下)

前言 ​ 在上一篇博客(click here)中,我们完成了实验要求的部分,即实现奇数阶幻方的构造。接下来我们将要着手实现剩下的4M阶幻方和4M+2阶幻方的构造。 构造方法 4M阶幻方 ​ 4M阶幻方的构造方法较奇数阶幻方的构造更为复杂,在此我们采用对角线法,其策略如下:…

vision mamba的跑通(wsl2, 单卡)

动机 随着mamba模型的出现,出现了mamba模型可以超越transformer的风头,视觉领域采用了vision mamba encoder(虽然说是mamba encoder, 更像是用了mamba的思想做的一个双向ssm的特征提取器), 个人认为这种新的架构应该可以用在自己的任务上, 因此进行了代码跑通尝试。 本文阐…

springboot支持国际化

Spring Boot支持本地化的消息,这样你的应用程序就可以满足不同语言偏好的用户。 默认情况下,Spring Boot会在classpath的根部寻找 messages 资源包(resource bundle)的存在。 自动配置只有在资源包中存在默认的properties文件(默认为 messages.properties )时才生效。如果…