如何在 AppVeyor 构建代理上可靠地安装和运行 Elasticsearch?



我有一个 .NET 项目,其中包含集成测试,需要本地运行的 Elasticsearch 实例。我正在尝试让这些在AppVeyor上运行。以下是我appveyor.yml的相关内容:

install:
- cinst elasticsearch
- elasticsearch-service-x64 start

第一个命令通过 Chocolatey 安装 Elasticsearch,工作顺利。第二个启动服务,大约成功了一半,我针对 Elasticsearch 实例的所有测试都通过了。但是,另一半在该行之后立即失败,并显示以下消息:

Command exited with code 5

关于如何使其可靠地工作的任何想法?

为了完整起见,下面是失败构建的输出:

cinst elasticsearch
Chocolatey v0.10.8
Installing the following packages:
elasticsearch
By installing you accept licenses for the packages.
Progress: Downloading server-jre8 8.0.172... 100%
Progress: Downloading elasticsearch 6.2.4... 100%
server-jre8 v8.0.172 [Approved]
server-jre8 package files install completed. Performing other installation steps.
Hashes match.
Extracting C:UsersappveyorAppDataLocalTempchocolateyserver-jre88.0.172server-jre-8u172-windows-x64.tar.gz to C:UsersappveyorAppDataLocalTempchocolateyserver-jre88.0.172...
C:UsersappveyorAppDataLocalTempchocolateyserver-jre88.0.172
Extracting C:UsersappveyorAppDataLocalTempchocolateyserver-jre88.0.172server-jre-8u172-windows-x64.tar to C:toolsJavaserver-jre...
C:toolsJavaserver-jre
PATH environment variable does not have %JAVA_HOME%bin in it. Adding...
C:Program Files (x86)Microsoft SDKsAzureCLI2wbin;C:Perlsitebin;C:Perlbin;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:Program Files7-Zip;C:ToolsGitVersion;C:ToolsNuGet;C:Program FilesMicrosoftWeb Platform Installer;C:ToolsPsTools;C:Program FilesGit LFS;C:Program FilesMercurial;C:Program Files (x86)Subversionbin;C:ToolsWebDriver;C:ToolsCoveritybin;C:ToolsMSpec;C:ToolsNUnitbin;C:ToolsNUnit3;C:ToolsxUnit;C:Program Filesnodejs;C:Program Files (x86)iojs;C:Program Filesiojs;C:UsersappveyorAppDataRoamingnpm;C:Program FilesMicrosoft SQL Server120ToolsBinn;C:Program FilesMicrosoft SQL ServerClient SDKODBC110ToolsBinn;C:Program Files (x86)Microsoft SQL Server120ToolsBinn;C:Program FilesMicrosoft SQL Server120DTSBinn;C:Program Files (x86)Microsoft SQL Server120ToolsBinnManagementStudio;C:Program Files (x86)Microsoft SQL Server120DTSBinn;C:Program Files (x86)Microsoft SQL Server130ToolsBinn;C:Program FilesMicrosoft SQL Server130ToolsBinn;C:Program Files (x86)Microsoft SQL Server130DTSBinn;C:Program FilesMicrosoft SQL Server130DTSBinn;C:Program FilesMicrosoft SQL ServerClient SDKODBC130ToolsBinn;C:Ruby193bin;C:gobin;C:Program FilesJavajdk1.8.0bin;C:Program Files (x86)ApacheMavenbin;C:Python27;C:Python27Scripts;C:Program Files (x86)CMakebin;C:Toolscurlbin;C:Usersappveyor.dnxbin;C:Program FilesMicrosoft DNXDnvm;C:Program Files (x86)Microsoft Visual Studio2017CommunityMSBuild15.0Bin;C:Program Files (x86)Microsoft Visual Studio2017CommunityCommon7IDEExtensionsMicrosoftSQLDBDAC130;C:Program FilesAmazonAWSCLI;C:Program Filesdotnet;C:Toolsvcpkg;C:Program Files (x86)dotnet;C:UsersappveyorAppDataLocalMicrosoftWindowsApps;C:UsersappveyorAppDataLocalYarnbin;C:UsersappveyorAppDataRoamingnpm;C:Program FilesDocker;C:Program Files (x86)Microsoft SQL Server140ToolsBinn;C:Program FilesMicrosoft SQL Server140ToolsBinn;C:Program FilesMicrosoft SQL Server140DTSBinn;C:Program Files (x86)Microsoft Visual Studio2017CommunityCommon7IDEExtensionsTestPlatform;C:Program Files (x86)Microsoft SQL Server110DTSBinn;C:Program Files (x86)Microsoft SQL Server140DTSBinn;C:Program Fileserl9.2bin;C:Program Files (x86)NSIS;C:Program Files (x86)Yarnbin;C:ToolsOctopus;C:Program FilesPowerShell6.0.2;C:Program Files (x86)Windows Kits10Windows Performance Toolkit;C:Program FilesMicrosoft Service FabricbinFabricFabric.Code;C:Program FilesMicrosoft SDKsService FabricToolsServiceFabricLocalClusterManager;C:Program FilesLLVMbin;C:Program Files (x86)nodejs;C:Program FilesGitcmd;C:Program FilesGitusrbin;C:ProgramDatachocolateybin;%JAVA_HOME%bin;
Environment Vars (like PATH) have changed. Close/reopen your shell to
see the changes (or in powershell/cmd.exe just type `refreshenv`).
The install of server-jre8 was successful.
Software installed to 'C:toolsJavaserver-jre'
elasticsearch v6.2.4 [Approved]
elasticsearch package files install completed. Performing other installation steps.
Downloading elasticsearch 
from 'https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.zip'
Progress: 100% - Completed download of C:UsersappveyorAppDataLocalTemp1chocolateyelasticsearch6.2.4elasticsearch-6.2.4.zip (27.75 MB).
Download of elasticsearch-6.2.4.zip (27.75 MB) completed.
Extracting C:UsersappveyorAppDataLocalTemp1chocolateyelasticsearch6.2.4elasticsearch-6.2.4.zip to C:ProgramDatachocolateylibelasticsearchtools...
C:ProgramDatachocolateylibelasticsearchtools
PATH environment variable does not have C:ProgramDatachocolateylibelasticsearchtoolselasticsearch-6.2.4bin in it. Adding...
Installing service      :  "elasticsearch-service-x64"
Using JAVA_HOME (64-bit):  "C:Progra~1Javajdk1.8.0"
-Xms1g;-Xmx1g;-XX:+UseConcMarkSweepGC;-XX:CMSInitiatingOccupancyFraction=75;-XX:+UseCMSInitiatingOccupancyOnly;-XX:+AlwaysPreTouch;-Xss1m;-Djava.awt.headless=true;-Dfile.encoding=UTF-8;-Djna.nosys=true;-XX:-OmitStackTraceInFastThrow;-Dio.netty.noUnsafe=true;-Dio.netty.noKeySetOptimization=true;-Dio.netty.recycler.maxCapacityPerThread=0;-Dlog4j.shutdownHookEnabled=false;-Dlog4j2.disable.jmx=true;-Djava.io.tmpdir=C:UsersappveyorAppDataLocalTempelasticsearch;-XX:+HeapDumpOnOutOfMemoryError;-XX:+PrintGCDetails;-XX:+PrintGCDateStamps;-XX:+PrintTenuringDistribution;-XX:+PrintGCApplicationStoppedTime;-Xloggc:logs/gc.log;-XX:+UseGCLogFileRotation;-XX:NumberOfGCLogFiles=32;-XX:GCLogFileSize=64m
The service 'elasticsearch-service-x64' has been installed.
Environment Vars (like PATH) have changed. Close/reopen your shell to
see the changes (or in powershell/cmd.exe just type `refreshenv`).
ShimGen has successfully created a shim for elasticsearch-service-mgr.exe
ShimGen has successfully created a shim for elasticsearch-service-x64.exe
The install of elasticsearch was successful.
Software installed to 'C:ProgramDatachocolateylibelasticsearchtools'
Chocolatey installed 2/2 packages. 
See the log for details (C:ProgramDatachocolateylogschocolatey.log).
elasticsearch-service-x64 start
Command exited with code 5

重试应该会使其更稳定:

- appveyor-retry elasticsearch-service-x64 start

最新更新