Search code examples
amazon-web-servicesamazon-elastic-beanstalkebcli

eb deploy artifact not heeded from config.yml


thanks for any guidance on below query!

I am attempting to deploy a custom artifact to EB by using the deploy>artifact attribute in config.yml, but when I run eb deploy or eb deploy --stage, the name of the artifact in stdout is auto-generated and has not part of specified artifact name in the value. I have confirmed a file by specified name exists in project root. I am yet to figure out how to validate the artifact contents on EB EC2, but considering this post, the name of the uploaded artifact should include my specified name, which leads me to believe the artifact attribute in config.yml is not being respected.

Uploading test-app/app-f166-220331_185820636547-stage-220331_185820636811.zip to S3. This may take a while.

        branch-defaults:
      default:
        environment: test-app-dev
        group_suffix: null
      main:
        environment: test-app-dev
    deploy:
      artifact: deploy.zip
    environment-defaults:
      test-app-dev:
        branch: null
        repository: null
    global:
      application_name: test-app
      branch: null
      default_ec2_keyname: null
      default_platform: Node.js 16 running on 64bit Amazon Linux 2
      default_region: us-east-2
      include_git_submodules: true
      instance_profile: null
      platform_name: null
      platform_version: null
      profile: eb-cli
      repository: null
      sc: git
      workspace_type: Application

Solution

  • After some more playing around, I observed that if I provide an path/name in config.yml of a file that does not exist, EB CLIE throws up with:

    ERROR: NotFoundError - Application Version does not exist locally (deploy.zip). Try uploading the Application Version again.

    So that means EB CLI is indeed taking my deploy artifact by renaming it to not have the original name part. This must be a change in EB CLI behavior since the post referenced in the question.