I have a Java web project(a simple RESTful service)deployed on Tomcat server on AWS beanstalk. I would like to run a few test cases to do the sanity check after the project is up. It seems you could only get an email from SNS but I need an HTTP call to invoke my test instance.
I appreciate your help.
Take a look at the hooks in the dir
/opt/elasticbeanstalk/hooks/appdeploy/post/
You can create a new one with the check and upload it there using .ebextensions dir
Related
My workplace gave me a task to configure servers myself for the upcoming project, which I am glad to carry out... if I knew how to do so! A minimal deployment would do the job alright, since there won't be too much web traffic.
So far I found that .. according to references like these..
https://aws.plainenglish.io/how-to-deploy-a-spring-boot-and-vue-application-on-aws-ec2-using-docker-dde22ca15063
For frontend (Nuxt Vue.js)
get the dist folder and upload it to AWS S3 as a static website
Or deploy the frontend by preparing NginX on AWS EC2.
Currently, I am not so sure what are the differences betweeen the two and which approach I should take.
Equally unsure part is how the static website can be connected to the deployed backend
(just by using axios?)
For backend (Java SpringBoot),
take the compiled jar file and deploy it on AWS EC2 where the backend service would be Docker imagefied.
Here, I am very fuzzy about using Docker. All I know is how a web service can be imagefied and published on DockerHub.
It seems there are multiple ways to deploy your web services on AWS.
If someone could provide a proven way or a detailed reference of deploying a Nuxt Vue.js + Java SpringBoot on AWS that actually works, that would be awesome!
But actually I would greatly appreciate any input that suggests a direction.. :)
When I use serverless framework to deploy with sls deploy to an AWS endpoint with lambdas and dynamodb, the host of the endpoint changes every time with a different prefix. This is a problem because if I release a client, I won't be able to deploy with serverless again.
For example, a host might look like this: 9svhw8numd.execute-api.us-east-1.amazonaws.com
That 9svhw8numd part changes each time there is a new deployment.
I've checked the serverless documentation and I can't seem to find anything that tells me how to configure it to have a static URL. How do I keep the host static for each serverless deployment?
What you're seeing is a URL for an AWS API Gateway instance. If you delete and re-create your serverless stack, a new endpoint will be generated. If you don't remove the stack, it'll stay the same throughout multiple serverless deploy commands.
If you'd like a custom domain instead of one generated by API Gateway, you'll need to configure a domain name via AWS Route 53. If you're using the Serverless Framework, here's a good guide to do that.
I'd like to know if I can use my git repository for AWS console ? In fact i made a rails project on AWS console but I did not find as to how to transfer it on to my Github repository
You can use AWS Cloud and Github through
Custom Webhooks: Where you have your code store in github and serve through AWS services like EC2, Lambda, etc.
AWS Code Pipeline with Code Commit: The AWS code commit service can be configure to listen to github webhook requests, from there you can trigger events when the webhook is received e.g. Build, tests, deploy
Reference:
I would like to try Amazon SWF development on my pc. But, It seems to me that I must register to Amazon AWS cloud in order to use Amazon Simple Workflow. What I need is to run all Amazon stuff in a single machine without the need of Amazon hosted services (or authentication).
The documentation for Amazon Simple Workflow Service is here.
Can you please help?
You could run the workflow locally using the aws test framework. In this case everything (activites and decision workers) will run locally on the instance that you will be running the test framework, only that no swf api will be invoked. So you can test the orchestration logic of the decision worker without needing a aws account.
Using cloud services offline doesn't make much sense. You will definitely need to sign up for an AWS account to be able to play with SWF. There is a free tier which should be sufficient for your development.
Have a website hosted on Amazon Web Services and I want to run a bash script to automatically build my github project when changes are pushed to the repository. How can my aws linux server detect when my repository is pushed to?
You can use GitHub's Webhooks:
Every GitHub repository has the option to communicate with a web server whenever the repository is pushed to. These “webhooks” can be used to update an external issue tracker, trigger CI builds, update a backup mirror, or even deploy to your production server.
The github-services project supports a large number of popular services out of the box.
Alternatively, you can use Webhooks yourself to configure an HTTP message to be sent to an arbitrary endpoint when a given event occurs. You would need to configure a service that listens for and responds to GitHub's message on your endpoint.
You can register a webhook on your GitHub repo in order to trigger a message to your aws server.
But, as mentioned in "Sync the local code to Amazon server through GitHub webhook", that means you have a listener on that AWS server which would listen to such a message.