Easy-DotNET Easy-DotNET
🏠首页
  • 知识地图
  • 源码脑图

    • 总览
    • Program
    • WebApplication
    • Host主机
    • WebHost主机
    • 依赖注入
    • Autofac
    • Middleware中间件
    • RateLimiter限制速率
    • 响应缓存、请求解压缩
  • 设计初衷
  • 克隆
  • 类型转换
  • 日期时间
  • IO流
  • 工具类
  • 语言特性
  • 集合类
  • Codec编码
  • 文本操作
  • 数学
  • 图片
  • 网络
  • Emoji表情
  • C# 12
  • C# 11
  • C# 10
  • C# 9.0
  • C# 8.0
  • C# 早期版本
  • C# 教程
  • ORM
  • 定时任务
  • 日志
  • 认证与授权
  • Swagger
  • 对象映射
  • 熔断重试限流
  • 缓存
  • 注册发现
  • 网关
  • GraphQL
  • 更多
  • Docker

    • 简介
    • Adminer
    • Apisix
    • Apollo
    • Cassandra
    • Cerebro
    • ClickHouse
    • Consul
    • EasyMock
    • Elasticsearch
    • Emqx
    • FastDFS
    • Flink
    • Gitlab
    • Jenkins
    • Jrebel
    • MariaDB
    • MySQL
    • Percona
    • Phpmyadmin
    • PostgreSQL
    • Redis
  • Linux

    • 查看Linux系统信息
    • CentOS7调整磁盘分区
    • IO压测
    • 图形化监控工具Cockpit
  • 总览
  • 列表

    • 算法数据结构
    • API
    • 应用框架
    • 应用模板
    • 操作系统
    • 工作流
    • 入门套件
    • 示例
    • 人工智能
    • 程序集
    • Assets
    • 认证授权
    • Blazor
    • 区块链
    • 书籍
    • 自动构建
    • 报表
    • 缓存
    • 日历
    • 聊天
    • CLI
    • CLR
    • CMS
    • 代码分析和指标
    • 代码片段
    • 压缩
    • 持续集成
    • 密码学
    • 数据库
    • 数据库驱动
    • 日期时间
    • 反编译
    • 部署
    • DirectX
    • 分布式计算
    • DLR
    • 文档
    • 电商支付
    • 模拟器
    • 环境管理
    • ETL
    • 事件消息
    • Exception
    • 扩展
    • 函数式编程
    • 游戏引擎
    • GIS
    • Git工具
    • 绘图
    • GraphQL
    • GUI
    • HTML-CSS
    • HTTP
    • IDE
    • 图片处理
    • 安装工具
    • 交互式编程
    • 国际化
    • 互操作性
    • IoC
    • JS引擎
    • 日志
    • 机器学习和数据科学
    • Markdown
    • 邮件
    • 数学
    • 媒体
    • 指标
    • 微型框架
    • 最小化器
    • MVVM
    • 网络
    • 对象映射
    • Office
    • OpenAI
    • ORM
    • 包管理器
    • PDF
    • 性能分析工具
    • 协议
    • 推送通知
    • SQL构建器
    • 消息队列
    • RPC
    • 响应式编程
    • 实时通信
    • 正则表达式
    • 任务调度
    • SDK和API
    • 搜索引擎
    • 序列化
    • SMS
    • 状态机
    • 静态站点生成
    • 强命名
    • 风格指南
    • 模板引擎
    • 测试
    • 工具
    • 交易
    • UI自动测试
    • Visual Studio 插件
    • Web浏览器
    • Web框架
    • WebServers
    • WebSocket
    • Windows服务
    • WPF
    • 解析器
    • 源码生成
    • 其他
    • 资源
  • AspNetCore面试题
  • Elasticsearch面试题
  • MongoDB面试题
  • MySql面试题
  • Nginx面试题
  • RabbitMQ面试题
  • Redis面试题
  • 设计模式
  • 微服务
🧑‍💻.NET Blog
GitHub (opens new window)
🏠首页
  • 知识地图
  • 源码脑图

    • 总览
    • Program
    • WebApplication
    • Host主机
    • WebHost主机
    • 依赖注入
    • Autofac
    • Middleware中间件
    • RateLimiter限制速率
    • 响应缓存、请求解压缩
  • 设计初衷
  • 克隆
  • 类型转换
  • 日期时间
  • IO流
  • 工具类
  • 语言特性
  • 集合类
  • Codec编码
  • 文本操作
  • 数学
  • 图片
  • 网络
  • Emoji表情
  • C# 12
  • C# 11
  • C# 10
  • C# 9.0
  • C# 8.0
  • C# 早期版本
  • C# 教程
  • ORM
  • 定时任务
  • 日志
  • 认证与授权
  • Swagger
  • 对象映射
  • 熔断重试限流
  • 缓存
  • 注册发现
  • 网关
  • GraphQL
  • 更多
  • Docker

    • 简介
    • Adminer
    • Apisix
    • Apollo
    • Cassandra
    • Cerebro
    • ClickHouse
    • Consul
    • EasyMock
    • Elasticsearch
    • Emqx
    • FastDFS
    • Flink
    • Gitlab
    • Jenkins
    • Jrebel
    • MariaDB
    • MySQL
    • Percona
    • Phpmyadmin
    • PostgreSQL
    • Redis
  • Linux

    • 查看Linux系统信息
    • CentOS7调整磁盘分区
    • IO压测
    • 图形化监控工具Cockpit
  • 总览
  • 列表

    • 算法数据结构
    • API
    • 应用框架
    • 应用模板
    • 操作系统
    • 工作流
    • 入门套件
    • 示例
    • 人工智能
    • 程序集
    • Assets
    • 认证授权
    • Blazor
    • 区块链
    • 书籍
    • 自动构建
    • 报表
    • 缓存
    • 日历
    • 聊天
    • CLI
    • CLR
    • CMS
    • 代码分析和指标
    • 代码片段
    • 压缩
    • 持续集成
    • 密码学
    • 数据库
    • 数据库驱动
    • 日期时间
    • 反编译
    • 部署
    • DirectX
    • 分布式计算
    • DLR
    • 文档
    • 电商支付
    • 模拟器
    • 环境管理
    • ETL
    • 事件消息
    • Exception
    • 扩展
    • 函数式编程
    • 游戏引擎
    • GIS
    • Git工具
    • 绘图
    • GraphQL
    • GUI
    • HTML-CSS
    • HTTP
    • IDE
    • 图片处理
    • 安装工具
    • 交互式编程
    • 国际化
    • 互操作性
    • IoC
    • JS引擎
    • 日志
    • 机器学习和数据科学
    • Markdown
    • 邮件
    • 数学
    • 媒体
    • 指标
    • 微型框架
    • 最小化器
    • MVVM
    • 网络
    • 对象映射
    • Office
    • OpenAI
    • ORM
    • 包管理器
    • PDF
    • 性能分析工具
    • 协议
    • 推送通知
    • SQL构建器
    • 消息队列
    • RPC
    • 响应式编程
    • 实时通信
    • 正则表达式
    • 任务调度
    • SDK和API
    • 搜索引擎
    • 序列化
    • SMS
    • 状态机
    • 静态站点生成
    • 强命名
    • 风格指南
    • 模板引擎
    • 测试
    • 工具
    • 交易
    • UI自动测试
    • Visual Studio 插件
    • Web浏览器
    • Web框架
    • WebServers
    • WebSocket
    • Windows服务
    • WPF
    • 解析器
    • 源码生成
    • 其他
    • 资源
  • AspNetCore面试题
  • Elasticsearch面试题
  • MongoDB面试题
  • MySql面试题
  • Nginx面试题
  • RabbitMQ面试题
  • Redis面试题
  • 设计模式
  • 微服务
🧑‍💻.NET Blog
GitHub (opens new window)
npm
  • Docker

    • 开源简介
    • Adminer
    • Apisix
    • Apollo
    • Cassandra
    • Cerebro
    • ClickHouse
    • Consul
    • EasyMock
    • Elasticsearch
    • Emqx
    • FastDFS
    • Flink
    • Gitlab
      • GitLab 项目管理和代码托管平台
      • 简介
      • 主要特性
      • 部署方式
      • 总结
      • docker-compose.yml
      • deploy.sh
      • GitlabRunner
        • docker-compose.yml
        • deploy.sh
        • 注册流程
    • Jenkins
    • Jrebel
    • MariaDB
    • MySQL
    • Percona
    • Phpmyadmin
    • PostgreSQL
    • Redis
  • Linux

    • 查看Linux系统信息
    • CentOS7调整磁盘分区
    • IO压测
    • Linux图形化监控工具Cockpit
    • CentOS7安装mysql5.7
目录

Gitlab

# GitLab 项目管理和代码托管平台

开源网址

官网:https://about.gitlab.com/

# 简介

img

GitLab 是一个开源的代码托管和协作平台,旨在帮助开发团队更高效地管理代码、进行协作和持续集成/持续交付。它提供了一系列强大的功能,包括代码仓库管理、问题跟踪、持续集成、持续交付、代码审查、Wiki 文档、项目管理等,使开发团队能够在一个集成的平台上管理整个软件开发生命周期。

# 主要特性

GitLab 提供了许多功能,以支持团队在一个平台上协作开发和管理项目:

  • 代码托管 :支持 Git 版本控制系统,团队可以在 GitLab 上创建和管理代码仓库,跟踪代码的历史变更,并支持分支和合并请求。
  • 问题跟踪 :可以在 GitLab 上创建和管理项目中的问题、任务和需求。团队成员可以讨论、分配、标记和跟踪问题的状态。
  • 持续集成/持续交付 :GitLab 提供了强大的 CI/CD(持续集成/持续交付)功能,可以自动化构建、测试和部署代码。用户可以配置流水线来实现自动化的软件交付流程。
  • 代码审查 :支持合并请求(Merge Requests),团队成员可以创建合并请求并邀请其他成员审查代码变更。这有助于确保代码质量并促进团队合作。
  • Wiki 文档 :每个项目都有一个集成的 Wiki,可以用来记录项目文档、知识库和指南。
  • 项目管理 :GitLab 提供项目看板和里程碑等功能,帮助团队进行项目计划、任务跟踪和进度管理。
  • 安全性 :GitLab 提供代码静态分析、容器扫描等安全功能,帮助识别和解决潜在的安全风险。

# 部署方式

GitLab 提供了不同的部署方式,以适应不同的需求:

  • GitLab.com :GitLab 官方托管的 SaaS 版本,无需自行部署,适用于小型团队和个人开发者。
  • 自托管 :用户可以自行在私有服务器上部署 GitLab,以获得更高的定制性和控制权,适用于企业和大型组织。

# 总结

GitLab 是一个功能丰富的开源代码托管和协作平台,帮助团队高效地进行代码管理、协作和持续集成/持续交付。无论是个人项目还是大型团队,GitLab 都提供了一系列工具来支持软件开发的各个方面。无论您是开发者、项目经理还是企业领导,GitLab 都是一个值得考虑的强大工具。

# docker-compose.yml

version: '3.7'
services: 
  gitlab:
    container_name: gitlab
    image: 'gitlab/gitlab-ce:15.2.2-ce.0'
    restart: always
    hostname: '10.142.51.100'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://10.142.51.100:1230'
        gitlab_rails['gitlab_shell_ssh_port'] = 1232
        gitlab_rails['time_zone'] = 'Asia/Shanghai'
        gitlab_rails['gitlab_email_enabled'] = true
        gitlab_rails['smtp_enable'] = true
        gitlab_rails['smtp_address'] = "smtp.163.com"
        gitlab_rails['smtp_port'] = 465
        gitlab_rails['smtp_user_name'] = ""
        gitlab_rails['smtp_password'] = ""
        gitlab_rails['smtp_domain'] = "163.com"
        gitlab_rails['smtp_authentication'] = "login"
        gitlab_rails['smtp_enable_starttls_auto'] = true
        gitlab_rails['smtp_tls'] = true
        gitlab_rails['gitlab_email_from'] = 'ego_it@163.com'
        gitlab_rails['initial_root_password'] = 'Gitlab123$'
    ports:
      - '1230:1230'
      - '1231:443'
      - '1232:22'
    volumes:
      - 'gitlab_data:/etc/gitlab'
      - 'gitlab_log_data:/var/log/gitlab'
      - 'gitlab_opt_data:/var/opt/gitlab'
volumes: 
  gitlab_data: 
  gitlab_log_data:
  gitlab_opt_data:

# deploy.sh

#!\bin\bash

docker-compose up -d

# GitlabRunner

# docker-compose.yml

version: '3.7'
services: 
  gitlab-runner:
    container_name: gitlab-runner
    image: 'gitlab/gitlab-runner:v15.2.1'
    restart: always
    privileged: true
    volumes:
      - 'data:/etc/gitlab-runner'
      - '/var/run/docker.sock:/var/run/docker.sock'
    networks: 
      - swarm_net
volumes: 
  data: 
networks: 
  swarm_net: 
    external: true 

# deploy.sh

#!\bin\bash

docker-compose up -d

# 注册流程

  • docker in docker 方案
// 执行注册流程
docker exec -it gitlab-runner bash
gitlab-runner register
// 在交互式终端中填入 Git Lab 提供的 URL 和 token
[root@localhost-0002 GitLabRunner]# docker exec -it 8afd63e9abbb bash
root@8afd63e9abbb:/# gitlab-runner register
Runtime platform                                    arch=amd64 os=linux pid=33 revision=58272c27 version=12.7.0
Running in system-mode.                            
                                                   
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://192.168.0.123:1230/
Please enter the gitlab-ci token for this runner:
i6aQMeza7Hxa1t_bAjzT
Please enter the gitlab-ci description for this runner:
[8afd63e9abbb]: 
Please enter the gitlab-ci tags for this runner (comma separated):

Registering runner... succeeded                     runner=i6aQMeza
Please enter the executor: custom, docker, docker-ssh, shell, docker+machine, docker-ssh+machine, kubernetes, parallels, ssh, virtualbox:
docker
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! 
docker:19.03.8
// 这里跳过了 description 与 tags ,tags表示什么时候触发,为空表示任何时候都触发,deploy表示部署时触发,下面是执行器,这里填入 docker
// 回到 GitLab ,可以看到已经注册成功
/usr/local/bin/docker-compose -f /data/composefile/GitLabRunner/docker-compose.yml down
docker system prune -f --volumes
/usr/local/bin/docker-compose -f /data/composefile/GitLabRunner/docker-compose.yml up -d

docker exec -it gitlab-runner sh
gitlab-runner --help
gitlab-runner restart
cat /etc/gitlab-runner/config.toml
vi /etc/gitlab-runner/config.toml
privileged = true
volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
vi config.toml
上次更新: 2023/09/05, 21:16:45
Flink
Jenkins

← Flink Jenkins→

Theme by Vdoing | Copyright © 2019-2024 一个大西瓜 | MIT License | 苏ICP备2023013501号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式