热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

适用于同一存储库中特定目录的Gitlabci

我们正在合并到公司的Git中。我们有这种特定的情况,其中我们的主分支是我们

我们正在合并到公司的Git中。我们有这种特定的情况,其中我们的主分支是我们的开发分支,每个发行版都是该主分支的分支版本。这些发行版本分为定制的客户版本。因此,我们正在使用单一存储库。

每个分支机构都有几个项目。每个项目都需要自己的ci。我们遇到的第一个问题是gitlab-runner自动克隆整个分支。实际上,这意味着将不必要文件的负载复制到甚至不使用这些文件的项目中。通过在GIT_STRATEGY: none中使用.gitlab-ci.yml,禁用自动克隆并强制我们手动提取.gitlab-ci.yml脚本部分中需要的文件,可以部分解决此问题。

这是使用git的稀疏签出完成的。在本地,一切正常,但是当我们使用gitlab-ci尝试时,由于某种原因,在.gitlab-ci.yml脚本部分中定义的pull请求被卡住了。我们转到服务器,尝试运行相同的“ git pull origin master”命令,该命令使gitlab-runner卡住并发现了问题。拉取请求需要身份验证。


  • 问题1:如何仅使用.gitlab-ci.yml或gitlab-runner的配置来处理请求请求所需的身份验证?我们知道克隆操作有这种身份验证方法,但是就我们所知,克隆并不是真正的选择(因为它总是从分支复制所有内容):
    http://gitlab-ci-token:${CI_JOB_TOKEN}@repository.git


  • 问题2:我们注意到在为新项目运行作业脚本时必须将git初始化为“ init:ed”。很好,很花哨,因为在已经存在的本地存储库上运行git init只会使其重新启动(这不是问题)。但是我们还必须添加我们的遥控器(git remote add origin %repositoryURL%)。这会导致问题,因为运行在git remote add origin中编写的同一.gitlab-ci.yml命令会在ci运行期间导致致命错误,从而导致构建失败。仅在以前已经添加了远程服务器的情况下才会发生这种情况,因此手动删除配置文件可能是一种解决方案?删除不存在的遥控器也会导致致命错误,因此删除->在每次作业运行时添加遥控器都不足够。


感谢您的耐心配合。我们知道这不是最佳解决方案,多重存储会容易得多,但我们确实想保留当前的工作树结构。





推荐阅读
  • WebBenchmark:强大的Web API性能测试工具
    本文介绍了一款名为WebBenchmark的Web API性能测试工具,该工具不仅支持HTTP和HTTPS服务的测试,还提供了丰富的功能来帮助开发者进行高效的性能评估。 ... [详细]
  • Git版本控制基础解析
    本文探讨了Git作为版本控制工具的基本概念及其重要性,不仅限于代码管理,还包括文件的历史记录与版本切换功能。通过对比Git与SVN,进一步阐述了分布式版本控制系统的独特优势。 ... [详细]
  • 本文探讨了在不同场景下如何高效且安全地存储Token,包括使用定时器刷新、数据库存储等方法,并针对个人开发者与第三方服务平台的不同需求提供了具体建议。 ... [详细]
  • Maven快照版本管理及更新策略详解
    本文深入探讨了Maven中的快照版本管理和更新策略,解释了快照版本与正式版本的区别,并提供了如何配置快照更新策略的方法,以确保项目依赖始终保持最新。 ... [详细]
  • 编者注:疲于应付各种漏洞影响,欢迎使用gitee.com漏洞预警GitlabWikiAPI远程代码执 ... [详细]
  • 使用git+gitlab搭建私有的版本控制环境
    使用git+gitlab搭建私有的版本控制环境*硬件环境:git客户端Windows版,gitlabubuntu版,Windows10,ubuntu16.0.3一、git下载与安装 ... [详细]
  • 这篇文章我们将会介绍一下如果使用gitlab和jenkins进行结合,通过api动态设定gitlab的webhook,实现每次向gitlab进行push操作的时候,jenkins的job会自动被 ... [详细]
  • Permissiondenied(publickey).fatal:Couldnotreadfromremoterepository.没有权限(publickey)。致命:无法从远 ... [详细]
  • (1)目的:在公司的内部服务器上安装gitlab,作为git服务器来使用。服务器不能上网,不需要配置邮件,环境如下图:catprocversionLinuxversion2.6.3 ... [详细]
  • 1需要的插件jenkins的git插件和jenkins的gitlab插件。2对接gitlab在系统配置中,随便起一个连接的名字,设置url,可以直接用ip地址,端口号默认是80,不需要写明。证书为 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • 在CentOS 7中部署Nginx并配置SSL证书
    本文详细介绍了如何在CentOS 7操作系统上安装Nginx服务器,并配置SSL证书以增强网站的安全性。适合初学者和中级用户参考。 ... [详细]
  • docker+gitlab+gitlab-runner环境怎么部署
    本篇内容介绍了“docker+gitlab+gitlab-runner环境怎么部署”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带 ... [详细]
  • importosimporttimeimportrequestsasrest_clientfromurllib.parseimporturljoinfromfastapiimpor ... [详细]
author-avatar
亲家你要干啥
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有