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


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





推荐阅读
  • 使用python-gitlab的API V4来批量创建projects
    在脚本的同目录下需要创建一个名为“add-list.txt”的文件,用于存放需要创建的projects,运行时要输入projects需要加入的指定组的ID,也可以都扔 ... [详细]
  • eclipse_在eclipse上使用github,向github中提交项目
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了在eclipse上使用github,向github中提交项目相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 从SVN迁移至Gitlab+Gitflow总结转载请注明出处http:blog.csdn.netuxyheavenarticledetails50373076 ... [详细]
  • Gitlab下私有Go modules的搭建配置
    Gitlab下私有Gomodules的搭建配置-前言团队目前使用GitlabCE作为Golang代码仓库使用,需要把一些常用的公共代码块(工具类、RPC接口等)独立成模块供其他 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • Spring MVC定制用户登录注销实现示例
    这篇文章描述了如何实现对SpringMVCWeb应用程序的自定义用户访问(登录注销)。作为前提,建议读者阅读这篇文章,其中介 ... [详细]
  • 这篇文章我们将会介绍一下如果使用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,不需要写明。证书为 ... [详细]
  • gitlab 提交到测试服务器,再发版到生产服务器流程整理
    1去地址https:gitpg.pam.ee注册,完成后登录,通知管理员把自己拉到开发组,上传自己的sshkey(生成命令ssh-keygen-trsa-C“104610934@ ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
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社区 版权所有