【问题标题】:Error with Jenkins / AWS CodePipeline / Laravel / PhpUnitJenkins / AWS CodePipeline / Laravel / PhpUnit 出错
【发布时间】:2016-03-25 06:39:00
【问题描述】:

我正在尝试从我的 AWS codePipeline 运行 jenkins 测试。

我是 Jenkins 的新手,所以我真的不知道发生了什么。

我能说的是 codePipeline 从 GitHub 获取代码,将其发送到我安装了 jenkins 的 EC2 服务器,它运行“某些东西”(我真的不知道是什么,我只想运行 phpunit)

Started by an SCM change
Building in workspace /home/tomcat/.jenkins/workspace/RHTest
[AWS CodePipeline Plugin] Job '0c947e80-2b61-400b-b574-879a06ebaac0' received
[AWS CodePipeline Plugin] Clearing Workspace '/home/tomcat/.jenkins/workspace/RHTest' before download
[AWS CodePipeline Plugin] Detected compression type: Zip
[AWS CodePipeline Plugin] Successfully downloaded the artifacts from CodePipeline
[AWS CodePipeline Plugin] File downloaded successfully
[AWS CodePipeline Plugin] Extracting '/home/tomcat/.jenkins/workspace/RHTest/rX6QseT.zip' to '/home/tomcat/.jenkins/workspace/RHTest'
[AWS CodePipeline Plugin] File uncompressed successfully
[AWS CodePipeline Plugin] Publishing artifacts
[AWS CodePipeline Plugin] /home/tomcat/.jenkins/workspace/RHTest/target/rhtest
[AWS CodePipeline Plugin] Stacktrace:
[AWS CodePipeline Plugin] sun.nio.fs.UnixException.translateToIOException(Unknown Source)
[AWS CodePipeline Plugin] sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
[AWS CodePipeline Plugin] sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
[AWS CodePipeline Plugin] sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(Unknown Source)
[AWS CodePipeline Plugin] sun.nio.fs.UnixFileSystemProvider.readAttributes(Unknown Source)
[AWS CodePipeline Plugin] sun.nio.fs.LinuxFileSystemProvider.readAttributes(Unknown Source)
[AWS CodePipeline Plugin] java.nio.file.Files.readAttributes(Unknown Source)
[AWS CodePipeline Plugin] java.nio.file.FileTreeWalker.walk(Unknown Source)
[AWS CodePipeline Plugin] java.nio.file.FileTreeWalker.walk(Unknown Source)
[AWS CodePipeline Plugin] java.nio.file.Files.walkFileTree(Unknown Source)
[AWS CodePipeline Plugin] com.amazonaws.codepipeline.jenkinsplugin.CompressionTools.addFilesToCompress(CompressionTools.java:176)
[AWS CodePipeline Plugin] com.amazonaws.codepipeline.jenkinsplugin.CompressionTools.compressArchive(CompressionTools.java:153)
[AWS CodePipeline Plugin] com.amazonaws.codepipeline.jenkinsplugin.CompressionTools.compressZipFile(CompressionTools.java:92)
[AWS CodePipeline Plugin] com.amazonaws.codepipeline.jenkinsplugin.CompressionTools.compressFile(CompressionTools.java:66)
[AWS CodePipeline Plugin] com.amazonaws.codepipeline.jenkinsplugin.PublisherCallable.invoke(PublisherCallable.java:78)
[AWS CodePipeline Plugin] com.amazonaws.codepipeline.jenkinsplugin.PublisherCallable.invoke(PublisherCallable.java:34)
[AWS CodePipeline Plugin] hudson.FilePath.act(FilePath.java:990)
[AWS CodePipeline Plugin] hudson.FilePath.act(FilePath.java:968)
[AWS CodePipeline Plugin] com.amazonaws.codepipeline.jenkinsplugin.AWSCodePipelinePublisher.callPublish(AWSCodePipelinePublisher.java:163)
[AWS CodePipeline Plugin] com.amazonaws.codepipeline.jenkinsplugin.AWSCodePipelinePublisher.perform(AWSCodePipelinePublisher.java:129)
[AWS CodePipeline Plugin] hudson.tasks.BuildStepMonitor$2.perform(BuildStepMonitor.java:32)
[AWS CodePipeline Plugin] hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:782)
[AWS CodePipeline Plugin] hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:723)
[AWS CodePipeline Plugin] hudson.model.Build$BuildExecution.post2(Build.java:185)
[AWS CodePipeline Plugin] hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:668)
[AWS CodePipeline Plugin] hudson.model.Run.execute(Run.java:1763)
[AWS CodePipeline Plugin] hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
[AWS CodePipeline Plugin] hudson.model.ResourceController.execute(ResourceController.java:98)
[AWS CodePipeline Plugin] hudson.model.Executor.run(Executor.java:410)
[AWS CodePipeline Plugin] 

[AWS CodePipeline Plugin] Build Failed. PutJobFailureResult
Build step 'AWS CodePipeline Publisher' marked build as failure
Finished: FAILURE

然后我再次手动开始工作,

Started by user JuliancitoBravo
    Building in workspace /home/tomcat/.jenkins/workspace/RHTest
    [AWS CodePipeline Plugin] Job '0c947e80-2b61-400b-b574-879a06ebaac0' received
    [AWS CodePipeline Plugin] Clearing Workspace '/home/tomcat/.jenkins/workspace/RHTest' before download
    [AWS CodePipeline Plugin] Detected compression type: Zip
    [AWS CodePipeline Plugin] Successfully downloaded the artifacts from CodePipeline
    [AWS CodePipeline Plugin] File downloaded successfully
    [AWS CodePipeline Plugin] Extracting '/home/tomcat/.jenkins/workspace/RHTest/rX6QseT.zip' to '/home/tomcat/.jenkins/workspace/RHTest'
    [AWS CodePipeline Plugin] File uncompressed successfully
    [AWS CodePipeline Plugin] Publishing artifacts
    [AWS CodePipeline Plugin] Build Succeeded. PutJobSuccessResult
    ERROR: Build step failed with exception
    com.amazonaws.services.codepipeline.model.InvalidJobStateException: Job with id 0c947e80-2b61-400b-b574-879a06ebaac0 has already terminated (Service: AWSCodePipeline; Status Code: 400; Error Code: InvalidJobStateException; Request ID: 1fda4ec8-f14b-11e5-ad9e-a7b383532abe)
        at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:1182)
        at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:770)
        at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:489)
        at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:310)
        at com.amazonaws.services.codepipeline.AWSCodePipelineClient.invoke(AWSCodePipelineClient.java:1615)
        at com.amazonaws.services.codepipeline.AWSCodePipelineClient.putJobSuccessResult(AWSCodePipelineClient.java:1352)
        at com.amazonaws.codepipeline.jenkinsplugin.PublisherTools.putJobResult(PublisherTools.java:65)
        at com.amazonaws.codepipeline.jenkinsplugin.AWSCodePipelinePublisher.perform(AWSCodePipelinePublisher.java:139)
        at hudson.tasks.BuildStepMonitor$2.perform(BuildStepMonitor.java:32)
        at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:782)
        at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:723)
        at hudson.model.Build$BuildExecution.post2(Build.java:185)
        at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:668)
        at hudson.model.Run.execute(Run.java:1763)
        at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
        at hudson.model.ResourceController.execute(ResourceController.java:98)
        at hudson.model.Executor.run(Executor.java:410)
    Build step 'AWS CodePipeline Publisher' marked build as failure
    Finished: FAILURE

在最后的日志中,我可以看到错误 400,但是在 Jenkins CodePipeline 插件中,我从管理员用户设置了访问密钥 ID / 秘密访问密钥,所以这应该不是问题...

你能帮我找出问题所在吗???

发送!!!

【问题讨论】:

    标签: amazon-web-services jenkins amazon-ec2


    【解决方案1】:

    在压缩工作区以将构建结果上传到 S3 时,插件似乎失败了:

    [AWS CodePipeline Plugin] sun.nio.fs.UnixException.translateToIOException(Unknown Source)
    [AWS CodePipeline Plugin] sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
    [AWS CodePipeline Plugin] sun.nio.fs.UnixException.rethrowAsIOException(Unknown Source)
    [AWS CodePipeline Plugin] sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(Unknown Source)
    [AWS CodePipeline Plugin] sun.nio.fs.UnixFileSystemProvider.readAttributes(Unknown Source)
    [AWS CodePipeline Plugin] sun.nio.fs.LinuxFileSystemProvider.readAttributes(Unknown Source)
    [AWS CodePipeline Plugin] java.nio.file.Files.readAttributes(Unknown Source)
    [AWS CodePipeline Plugin] java.nio.file.FileTreeWalker.walk(Unknown Source)
    [AWS CodePipeline Plugin] java.nio.file.FileTreeWalker.walk(Unknown Source)
    [AWS CodePipeline Plugin] java.nio.file.Files.walkFileTree(Unknown Source)
    

    您是否使用符号链接?你的工作区会不会有一个循环?还是没有必要的权限?

    http://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#walkFileTree-java.nio.file.Path-java.util.Set-int-java.nio.file.FileVisitor-

    如果 options 参数包含 FOLLOW_LINKS 选项,那么这个 方法跟踪访问过的目录,以便循环 检测到。当目录中有一个条目时,就会出现一个循环 目录的祖先。周期检测是通过记录 目录的文件键,或者如果文件键不可用,通过 调用 isSameFile 方法来测试一个目录是否是同一个文件 作为祖先。当检测到一个周期时,它被视为一个 I/O 错误,并使用以下实例调用 visitFileFailed 方法 文件系统循环异常。

    【讨论】:

    • 您是否在项目中配置了输出位置(构建后操作 -> AWS CodePipeline Publisher)?通常,您需要至少一个输出(构建的结果),因此管道中的下一个操作可以使用它(如部署操作)。但如果您确实不需要它(例如,您正在使用 Jenkins 运行测试),请尝试删除输出位置(但不要删除 AWS CodePipeline Publisher 构建后操作)。
    猜你喜欢
    • 2018-11-27
    • 2016-01-23
    • 2017-02-11
    • 2017-10-10
    • 2019-06-28
    • 2018-07-18
    • 1970-01-01
    • 2018-03-18
    • 2022-11-08
    相关资源
    最近更新 更多