maven 执行命令时出错:mvn测试,原因:退出状态1 - AWS

uinbv5nw  于 2023-01-01  发布在  Maven
关注(0)|答案(2)|浏览(195)

我正在尝试使用AWS CodeBuild安装SonarQube。我正在使用Nodejs:10作为运行时环境。当我运行下面的脚本作为构建规范时,我得到了下面的错误?据我所知,问题是NodeJS环境不包含内置的Maven。如果是这种情况,我如何在 NodeJS 环境中继续使用Maven。提前感谢。
[集装箱] 2020/07/26 18:16:43阶段上下文状态码:命令执行错误消息:执行命令时出错:mvn测试。原因:退出状态1
开始执行-mvn test时出现问题
buildspec.yml

version: 0.2
env:
  secrets-manager:
    LOGIN: SonarCloud:sonartoken
    HOST: SonarCloud:HOST
    Organization: SonarCloud:Organization
    Project: prod/sonar:Project
phases:
  install:
    runtime-versions:
      nodejs: 10  
  pre_build:
    commands:
      - npm install
      - apt-get update
      - apt-get install -y jq
      - wget http://www-eu.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
      - tar xzf apache-maven-3.5.4-bin.tar.gz
      - ln -s apache-maven-3.5.4 maven
      - wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.3.0.1492-linux.zip
      - unzip ./sonar-scanner-cli-3.3.0.1492-linux.zip
      - export PATH=$PATH:/sonar-scanner-3.3.0.1492-linux/bin/
  build:
    commands:
      - mvn test     
      - mvn sonar:sonar -Dsonar.login=$LOGIN -Dsonar.host.url=$HOST -Dsonar.projectKey=$Project -Dsonar.organization=$Organization
      - sleep 5
      - curl https://sonarcloud.io/api/qualitygates/project_status?projectKey=$Project >result.json
      - cat result.json
      - if [ $(jq -r '.projectStatus.status' result.json) = ERROR ] ; then $CODEBUILD_BUILD_SUCCEEDING -eq 0 ;fi
      - echo Build started on `date`
      - echo Compiling the Node.js code
  post_build:
    commands:
      - echo Build completed on `date`
artifacts:
  files:
    - server.js
    - package.json
    - controller/*
ufj5ltwl

ufj5ltwl1#

Maven的Java版本为:打开jdk8.

您需要将相同的内容添加到您的yml中。

示例格式:

phases:
  install:
    runtime-versions:
      java: openjdk8

  build:
    commands:
      - mvn test
x7rlezfr

x7rlezfr2#

runtime-versions:下添加java: corretto11java: openjdk8java: openjdk11,maven将开始执行。
您可能需要使用特定于项目的settings.xml进行maven构建,您可以轻松地在S3存储桶中提供它,然后在buildspec.yml的构建命令下引用它
我在aws配置中使用corretto而不是openjdk,因为aws为corretto提供LTS。

相关问题