This a Java based application. Deploying the application by using Code Deploy. By using Bitbucket pipeline, the latest jar file is uploaded to S3 bucket. The latest .jar is getting replaced with updated jar after pipeline triggered or Auto scaling timings. But the process is not running with latest jar. we are killing the existing processes and starting them manually to run the latest jar.
Could you please guide us on how to resolve the issue to run the jar automatically without triggering manually
appspec.yml:
hooks:
AfterInstall:
- location: deploymentscripts/serviceApp.bash
runas: root
ApplicationStart:
- location: deploymentscripts/startApp.bash
runas: root
serviceApp.bash
#Copy jar file to /usr/local/app_name
sudo mkdir /usr/local/app_name
sudo cp -f /usr/local/app_name/target/app_name-0.0.1-SNAPSHOT.jar /usr/local/app_name/app_name-0.0.1-SNAPSHOT.jar
#Create service file
sudo touch /etc/systemd/system/app_name.service
sudo > /etc/systemd/system/app_name.service
#add exucute permission to service file
sudo chmod 664 /etc/systemd/system/app_name.service
sudo chmod +x /usr/local/app_name/app_name-0.0.1-SNAPSHOT.jar
startApp.bash
sudo java -Dspring.profiles.active=env_name -Dlog_path=/usr/local/app_name -jar /usr/local/app_name/app_name-0.0.1-SNAPSHOT.jar &>/dev/null &