Madura Dissanayake
Madura Dissanayake

Reputation: 8759

.war file is not deployed in the Elastic Beanstalk environment

I'm deploying .war file with .ebextensions in EB environment using Jenkins pipeline. The deployment is succeeded and all the commands are executed in at the deployment stage, but when I check the /usr/share/tomcat8/webapps/ROOT/ I only see my .war file is there as it is, without extracting.

What would be the reason for this? and any idea about how to resolve that issue ? Please find my code snippet below.

zip -r app-${BUILD_NUMBER}.zip myapp.war .ebextensions

aws s3 cp myapp.war s3://inc-eb-deployments/inc-batch/myapp.war

Upvotes: 0

Views: 920

Answers (2)

Madura Dissanayake
Madura Dissanayake

Reputation: 8759

Once the ebextesnions are setup with .war file, which is being coupled with ebextensions(.zip format). In this case, .war file should be unzipped through the .ebextension file manually. Following is the sample code snippet.

 fix_path:
    command: "unzip <app-name>.war 2>&1 > /var/log/my_last_deploy.log"

This solution worked on my environment.

Upvotes: 0

F_SO_K
F_SO_K

Reputation: 14869

Try deploying it to the webapps folder, not webapps/ROOT. Then tomcat should decompress to webapps/myapp.

If you want to deploy your application in the root directory you need to name your build output ROOT.war and place it in the webapps folder.

Upvotes: 0

Related Questions