热门标签 | 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运行期间导致致命错误,从而导致构建失败。仅在以前已经添加了远程服务器的情况下才会发生这种情况,因此手动删除配置文件可能是一种解决方案?删除不存在的遥控器也会导致致命错误,因此删除->在每次作业运行时添加遥控器都不足够。


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





推荐阅读
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • gitlab 提交到测试服务器,再发版到生产服务器流程整理
    1去地址https:gitpg.pam.ee注册,完成后登录,通知管理员把自己拉到开发组,上传自己的sshkey(生成命令ssh-keygen-trsa-C“104610934@ ... [详细]
  • 深入解析JVM垃圾收集器
    本文基于《深入理解Java虚拟机:JVM高级特性与最佳实践》第二版,详细探讨了JVM中不同类型的垃圾收集器及其工作原理。通过介绍各种垃圾收集器的特性和应用场景,帮助读者更好地理解和优化JVM内存管理。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 使用git+gitlab搭建私有的版本控制环境
    使用git+gitlab搭建私有的版本控制环境*硬件环境:git客户端Windows版,gitlabubuntu版,Windows10,ubuntu16.0.3一、git下载与安装 ... [详细]
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社区 版权所有