AWS CodeBuild - cd: не удается перейти в / codebuild / output / src ... ошибка и путь к артефактам не найден - PullRequest
0 голосов
/ 31 января 2019

===============

Я новичок в AWS CodeBuild.Мы пробуем это в первый раз.Я установил свой файл Buildspec.yml, и при его запуске я получаю ошибки, указывающие на то, что он cd: не может перейти в / codebuild / output / src .... на протяжении всего цикла сборки, однако каждый раз он переходит к следующему шагу.игнорируя ошибки.Однако, когда он достигает шага артефактов, он не может найти путь артефактов.Я перепробовал много итераций артефактов: файлов: утверждений без удачи.Я не уверен, связаны ли ошибки cd и проблема артефакта.

Здесь находится файл Buildspec.Я также пробовал несколько разных версий оператора "files:", включая - '** / *'

buildspec.yml

version: 0.2

phases:
  install:
    commands:
      - echo Nothing to do in the install phase...
  pre_build:
    commands:
      - echo Nothing to do in the pre_build phase...
  build:
    commands:
      - echo Build started on `date`
      - echo $CODEBUILD_SRC_DIR
      - uServices/hello-world-java/gradlew build
  post_build:
    commands:
      - echo Build completed on `date`
artifacts:
  files:
    - uServices/hello-world-java/build/distributions/*

вывод из кода сборки

[Container] 2019/01/31 14:19:42 Waiting for agent ping
[Container] 2019/01/31 14:19:43 Waiting for DOWNLOAD_SOURCE
[Container] 2019/01/31 14:19:44 Phase is DOWNLOAD_SOURCE
[Container] 2019/01/31 14:19:44 CODEBUILD_SRC_DIR=/codebuild/output/src590503358/src/github.com/SomosEngineering/tss-modern.git
[Container] 2019/01/31 14:19:44 YAML location is /codebuild/output/src590503358/src/github.com/SomosEngineering/tss-modern.git /buildspec.yml
[Container] 2019/01/31 14:19:44 Processing environment variables
[Container] 2019/01/31 14:19:44 Moving to directory /codebuild/output/src590503358/src/github.com/SomosEngineering/tss-modern.git
[Container] 2019/01/31 14:19:44 Registering with agent
[Container] 2019/01/31 14:19:44 Phases found in YAML: 4
[Container] 2019/01/31 14:19:44 POST_BUILD: 1 commands
[Container] 2019/01/31 14:19:44 INSTALL: 1 commands
[Container] 2019/01/31 14:19:44 PRE_BUILD: 1 commands
[Container] 2019/01/31 14:19:44 BUILD: 3 commands
[Container] 2019/01/31 14:19:44 Phase complete: DOWNLOAD_SOURCE Success: true
[Container] 2019/01/31 14:19:44 Phase context status code: Message:
[Container] 2019/01/31 14:19:44 Entering phase INSTALL
[Container] 2019/01/31 14:19:44 Running command echo Nothing to do in the install phase...
/codebuild/output/tmp/script.sh: 1: cd: can't cd to /codebuild/output/src590503358/src/github.com/SomosEngineering/tss-modern.git
Nothing to do in the install phase...
 [Container] 2019/01/31 14:19:44 Phase complete: INSTALL Success: true
[Container] 2019/01/31 14:19:44 Phase context status code: Message:
[Container] 2019/01/31 14:19:45 Entering phase PRE_BUILD
[Container] 2019/01/31 14:19:45 Running command echo Nothing to do in the pre_build phase...
/codebuild/output/tmp/script.sh: 1: cd: can't cd to /codebuild/output/src590503358/src/github.com/SomosEngineering/tss-modern.git
Nothing to do in the pre_build phase...
 [Container] 2019/01/31 14:19:45 Phase complete: PRE_BUILD Success: true
[Container] 2019/01/31 14:19:45 Phase context status code: Message:
[Container] 2019/01/31 14:19:45 Entering phase BUILD
[Container] 2019/01/31 14:19:45 Running command echo Build started on `date`
/codebuild/output/tmp/script.sh: 1: cd: can't cd to /codebuild/output/src590503358/src/github.com/SomosEngineering/tss-modern.git
Build started on Thu Jan 31 14:19:45 UTC 2019
 [Container] 2019/01/31 14:19:45 Running command echo $CODEBUILD_SRC_DIR
/codebuild/output/tmp/script.sh: 1: cd: can't cd to /codebuild/output/src590503358/src/github.com/SomosEngineering/tss-modern.git
/codebuild/output/src590503358/src/github.com/SomosEngineering/tss-modern.git
 [Container] 2019/01/31 14:19:45 Running command uServices/hello-world-java/gradlew build
/codebuild/output/tmp/script.sh: 1: cd: can't cd to /codebuild/output/src590503358/src/github.com/SomosEngineering/tss-modern.git
Downloading https://services.gradle.org/distributions/gradle-3.5-bin.zip
..........................................................................................................................................................................................................................................................................................
Unzipping /root/.gradle/wrapper/dists/gradle-3.5-bin/daoimhu7k5rlo48ntmxw2ok3e/gradle-3.5-bin.zip to /root/.gradle/wrapper/dists/gradle-3.5-bin/daoimhu7k5rlo48ntmxw2ok3e
Set executable permissions for: /root/.gradle/wrapper/dists/gradle-3.5-bin/daoimhu7k5rlo48ntmxw2ok3e/gradle-3.5/bin/gradle
Starting a Gradle Daemon (subsequent builds will be faster)
:buildEnvironment
 ------------------------------------------------------------
Root project
------------------------------------------------------------
 classpath
No dependencies
 BUILD SUCCESSFUL
 Total time: 8.74 secs
 [Container] 2019/01/31 14:19:56 Phase complete: BUILD Success: true
[Container] 2019/01/31 14:19:56 Phase context status code: Message:
[Container] 2019/01/31 14:19:56 Entering phase POST_BUILD
[Container] 2019/01/31 14:19:56 Running command echo Build completed on `date`
/codebuild/output/tmp/script.sh: 1: cd: can't cd to /codebuild/output/src590503358/src/github.com/SomosEngineering/tss-modern.git
Build completed on Thu Jan 31 14:19:56 UTC 2019
 [Container] 2019/01/31 14:19:56 Phase complete: POST_BUILD Success: true
[Container] 2019/01/31 14:19:56 Phase context status code: Message:
[Container] 2019/01/31 14:19:56 Expanding base directory path: .
[Container] 2019/01/31 14:19:56 Assembling file list
[Container] 2019/01/31 14:19:56 Expanding /codebuild/output/tmp/script.sh: 1: cd: can't cd to /codebuild/output/src590503358/src/github.com/SomosEngineering/tss-modern.git
.
[Container] 2019/01/31 14:19:56 Expanded to /codebuild/output/tmp/script.sh: 1: cd: can't cd to /codebuild/output/src590503358/src/github.com/SomosEngineering/tss-modern.git
/codebuild/output/tmp/script.sh: 1: cd: can't cd to /codebuild/output/src590503358/src/github.com/SomosEngineering/tss-modern.git
.
[Container] 2019/01/31 14:19:56 Skipping invalid artifact path /codebuild/output/tmp/script.sh: 1: cd: can't cd to /codebuild/output/src590503358/src/github.com/SomosEngineering/tss-modern.git
/codebuild/output/tmp/script.sh: 1: cd: can't cd to /codebuild/output/src590503358/src/github.com/SomosEngineering/tss-modern.git
.

[Контейнер] 2019/01/31 14:19:56 Фаза завершена: UPLOAD_ARTIFACTS Успешно: false [Контейнер] 2019/01/31 14:19:56 Код состояния контекста фазы: CLIENT_ERROR Сообщение: нет соответствующего базового пути каталоганайдено для /codebuild/output/tmp/script.sh: 1: cd: не удается перейти к /codebuild/output/src590503358/src/github.com/SomosEngineering/tss-modern.git

Summary


В своей области разработки я могу запустить Gradle и увидеть артефакт .zip, расположенный в следующем каталоге, как показано ниже.Я ожидаю, что codebuild найдет его и загрузит в S3.[clipford @ NVA-1a-TSS-DEV01

дистрибутивы] $ pwd

/ home / clipford / work / tss-modern / uServices / hello-world-java / build / distributions

[дистрибутивы clipford @ NVA-1a-TSS-DEV01] $ ls

tss-modern-clipford.zip

1 Ответ

0 голосов
/ 31 января 2019

Я закончил тем, что пытался собрать это из контейнера Amazon S3, сборка работала полностью.Затем я вернулся к версии GitHub, и проблема, связанная с невозможностью записи CD в каталоги codebuild, волшебным образом исчезла.(Я тоже не верю в магию, но предполагаю, что это была проблема с амазонкой.)

Проблема с не загруженным артефактом была связана с тем, что артефакт в нашем проекте находится в каталоге, который не являетсячасть репозитория GitHub.Это на самом деле игнорируется в .gitignore.Каталог артефактов создается во время сборки, и кажется, что, поскольку он игнорируется в .gitignore и не является частью кода сборки репозитория, он не находит артефакт и не может загрузить его в S3.

...