如何在gitlab的另一个存储库中导入一个存储库的.targets文件?

帕旺·诺加里亚(Pawan Nogariya)

product-config在gitlab中有一个存储库,其中包含其余存储库共享的设置/配置。

因此,例如,我有一个存储库ec-firmware-service该存储库的文件会像这样.productConfiguration.targets导入存储库.target文件product-config

 <Import Project="$(MSBuildThisFileDirectory)..\..\product-config\.msbuild\TransformApplicationConfig.targets" />
 <Import Project="$(MSBuildThisFileDirectory)..\..\product-config\.msbuild\TaskConfigPreprocessor.targets" />

而且product-config存储库确实具有这些目标文件,但是我仍然遇到此构建错误

C:\builds\engineering\myproject\swc\ec-firmware-service\Configuration\\.productConfiguration.targets(5,3):
error MSB4019: The imported project
"C:\builds\engineering\myproject\swc\product-config\\.msbuild\TransformApplicationConfig.targets"
was not found. Confirm that the expression in the Import declaration
"C:\builds\engineering\myproject\swc\ec-firmware-service\Configuration\\..\\..\product-config\\.msbuild\TransformApplicationConfig.targets"
is correct, and that the file exists on disk.
[C:\builds\engineering\myproject\swc\ec-firmware-service\src\EC.FirmwareService.WebApi\EC.FirmwareService.WebApi.csproj]

所以基本上是这个错误

The imported project "C:\builds\engineering\myproject\swc\product-config\.msbuild\TransformApplicationConfig.targets" was not found.

该目录是TransformApplicationConfig.targets文件的正确目录和路径,但无法以某种方式将其拾取。

我能看到的唯一原因是因为它在不同的存储库中。

有什么办法可以将目标文件放在gitlab中的不同存储库中,或者有什么解决方案?

更新资料

我的目标是在.gitlab-ci.yml文件中使用此docker映像构建.net框架解决方案mcr.microsoft.com/dotnet/framework/sdk

建议的一种解决方案是在构建解决方案时将存储库克隆到当前存储库,因此我尝试执行此操作,但是我使用的docker映像不包含该镜像git,因此无法遵循该解决方案。

这就是我在gitlab文件中写的

# Build
Build:
  stage: build
  image: mcr.microsoft.com/dotnet/framework/sdk
  before_script:
    #- git 
  script:
    - echo $URL
    - cd src
    #- git clone https://${productconfigdeployerusername}:${productconfigdeployerpassword}@gitlab.cpicloudservices.com/engineering/easitrax-connect/swc/product-config.git
    - msbuild /t:restore
    - msbuild EC.FirmwareService.sln /p:Configuration=Release
  only:
    - branches
  tags:
    - windows-runner
  environment:
    name: development

您可以看到该git clone行已注释。如果我取消注释,它将开始发出git无法识别的错误

杰格567

您可以尝试创建一个新映像并在那里安装git,但是我不知道如何在Windows中执行该操作。

相反,您可以添加一个单独的作业来克隆存储库,并将其导出为作业工件。然后,Windows作业可以使用此工件,从而消除了图像中对git的需要。

stages:
  - pre-build
  - build

# Build
Clone:
  stage: pre-build
  image: alpine/git
  script:
    - mkdir git
    - cd git
    - git clone https://${productconfigdeployerusername}:${productconfigdeployerpassword}@gitlab.cpicloudservices.com/engineering/easitrax-connect/swc/product-config.git
  artifacts:
    paths:
      - src
    expire_in: 1 day
  needs: []
  only:
    - branches

Build:
  stage: build
  image: mcr.microsoft.com/dotnet/framework/sdk 
  script:
    - echo $URL
    - cd src
    - msbuild /t:restore
    - msbuild EC.FirmwareService.sln /p:Configuration=Release
  only:
    - branches
  tags:
    - windows-runner
  environment:
    name: development
  needs: ["Clone"]

免责声明:我没有运行此代码,它可能包含错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将在python文件中导入的库导入另一个python文件?

Git:将存储库移至另一个存储库的子文件夹

将存储库合并到另一个存储库的文件夹中

从一个Git存储库链接到另一个存储库的文件夹

将Gitlab存储库复制到另一个Gitlab服务器抛出文件系统

如何仅从另一个Git存储库中拉出一个文件夹?

如何将文件保存在一个远程存储库中而不是另一个

如何在另一个文件目录中的另一个脚本中导入 Python 文件?

如何在主仓库以外的github存储库的另一个分支中“获取”文件

如何将单个文件夹从一个Subversion存储库移动到另一个存储库?

如何通过运动鞋网(外部文件)将Git变更集从一个存储库导出到另一个存储库?

如何将一个文件夹从一个Git存储库共享到另一个?

如何在 NestJS 的另一个 proto 文件中导入 proto 文件

将存储库文件夹链接到另一个非存储库文件夹

Django:如何在另一个JavaScript文件中导入JavaScript

如何在 Databricks Repos 的另一个文件中导入模块?

Java:如何在另一个文件中导入变量?

我应该如何在模块中导入另一个python文件

将Git存储库添加到另一个Git存储库的子文件夹中

自动将推送的文件从一个GitHub存储库复制到另一个

Linux 上的 git 也从另一个存储库上传文件

Git合并不会从另一个存储库中删除文件

Git:从另一个提交覆盖存储库中的所有文件

在Documentum中将文档或文件夹从一个存储库移动到另一个存储库

Git:将文件历史记录从一个存储库复制到另一个存储库

通过 Codehip 自动将文件从一个 GitHub 存储库复制到另一个存储库

Git-如何将本地存储库提交到另一个本地存储库的子文件夹?

如何将子文件夹从一个git存储库链接到另一个?

如何将不同路径中的多个文件夹从一个 git 存储库迁移到另一个?