首页 > 解决方案 > 将 AWS CodeBuild 与 SVN 存储库超时/停止问题一起使用

问题描述

我有一个 AWS codebuild 项目和一个 svn 存储库,其中包含我需要构建的 java 代码。对于我的代码构建配置,我选择了No Source Type 并且正在使用 Windows 容器。在安装事件期间,我正在下载一个 tortoisesvn msi 并在我的容器上安装 tortoisesvn。然后我对我的 svn 进行 svn checkout 调用。这是我正在检查的一个相当大的存储库,起初,它继续超时,并出现错误svn: E175012: Connection timed out。我通过添加选项servers:global:http-timeout=2400解决了这个问题在服务器超时之前延长 svn 结帐的时间。但是,现在结帐只是在任意时间后在结帐命令输出中的某个点停止。最终,codebuild 项目的超时使项目超时。如上所示,我已将 svn 超时设置为 40 分钟,将 codebuild 超时设置为 1.5 小时,但在完成结帐和构建代码方面没有运气。不幸的是,codebuild 没有提供对用于构建我的代码的 windows 容器的太多可见性,所以我不确定接下来要尝试什么。任何意见,将不胜感激。以下是我的构建规范的相关部分。

TORTOISE_URL: 'https://mirrors.tuna.tsinghua.edu.cn/osdn/storage/g/t/to/tortoisesvn/1.13.1/Application/TortoiseSVN-1.13.1.28686-x64-svn-1.13.0.msi'
TORTOISE_INSTALL: 'C:\TortoiseSVN-1.13.1.28686-x64-svn-1.13.0.msi'


install:
    commands:
      - '[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest $env:TORTOISE_URL -OutFile $env:TORTOISE_INSTALL'
      - msiexec.exe /i $env:TORTOISE_INSTALL /passive /norestart ADDLOCAL=ALL
      - $env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine")
      - '& $env:TORTOISE_HOME/bin/svn checkout --username $env:SVN_USERNAME --password $env:SVN_PASSWORD $env:SVN_REPO/$env:SVN_TAG --config-option servers:global:http-timeout=2400'

标签: tortoisesvnaws-codebuild

解决方案


推荐阅读