Deploying Ruby on rails applications using GIT in AWS elastic beanstalk - amazon-web-services

I am looking at ways to have a setup for complete development and deployment cycle by using Git to have code versions and then transfer a that code(push) into an AWS elastic Beanstalk instance... I would also like to know of any other methods that includes 'rubber' setup. can you please guide me in this regard.

As of November 1, 2012, Elastic Beanstalk now natively supports Rails and Sinatra apps running Ruby 1.8.7 or 1.9.3. Phusion Passenger is the application server. Git deployment is included, and the EB command line tools have been updated.
Here is the announcement:
Here is a good tutorial

Related

SpringBoot 2.5.3 does not work on AWS Elastic Beanstalk

I'm attempting to upgrade SpringBoot from v2.4.0 to 2.5.3.
My Boot project installs and runs fine locally with both versions.
Version 2.4.0 works fine on Beanstalk. When updating to 2.5.3 however, nginx returns a 301 for all requests to the Boot application. I am testing on the same instance (so same config) on Corretto 11 running on 64bit Amazon Linux 2/3.2.7.
The SpringBoot logs are identical between the 2 when starting up on both local and SpringBoot minus a few verbiage changes. No other changes exist in the code.
I'm a bit stuck. I've reviewed the Java logs, nginx, Beanstalk init logs, and everything looks fine.
Edit I am looking for suggestions on troubleshooting next steps for AWS Beanstalk SpringBoot apps as the 2 version produce identical EB and app logs, and I am not sure where else I should be looking.

how to deploy MEAN stack app on AWS elastic beanstalk?

I'm trying to deploy my mean stack app on AWS using elastic beanstalk but there doesn't seem to be a tutorial good enough that can help me through it.
I would also like to know if I should really deploy it on elastic beanstalk or Lightsail?
Can you share any articles, videos or anything good enough to help me. It will be helpful to a lot of people.
Angular Version : 7
Node Version: 10.14.1
elastic beanstalk will be the option for production while you can use light sail for testing dev enviroment
now if we talk about the deploying Mean stack app
Open Elastic Bean stalk console and you will get option to choose Webserver
Choose web server with apache, tomcat, nginx, configure it as per your requirement
at last you will get option for upload your application
Upload your app using zip file (if dist folder is output then direct deploy dist in elastic beanstalk)

Deploying a web application for Selenium testing on AWS EC2

I have a web application that uses Selenium in backend to run few scripts when invoked by user. I want to deploy this web app on AWS.
Here are my findings so far:
I can have a windows EC2 instance created and then I can install tomcat, firefox and all the necessary stuff. Then using putty or any other client, I can deploy my war and start tomcat.
I can directly make use of Elastic Beanstalk and deploy my war file there itself but then, there is no windows EC2 available for beanstalk and I don't know how to install firefox there and make my application work.
What is the best way to achieve this and what steps should I follow. I want to install a specific firefox version to be able to make it run with my selenium scripts.
There are two separate things here:
Deployment of web application on AWS cloud
Run the selenium tests against your web application
According to me, you should first think of deploying a web application to AWS cloud. There are many ways by which you can get it deployed to AWS cloud with below services:
Spin a new AWS EC2 instance, install all required software and deploy the web application.
Use AWS elastic beanstalk service with either with tomcat or docker.
Use AWS ECS if you prefer docker
According to me, second option will be quick for you with tomcat environment option. If you select tomcat environment, then your platform will be Tomcat 8 Java 8 on 64bit Amazon Linux.
Now, here comes the second part. You can have below options for your browser environments.
Spin a new separate AWS EC2 instances with correct AMI and install your specific browsers on these instances.
If you prefer SaaS, then you can take a look at browserstack or SauceLabs for remote environment.
If you have CI(jenkins/travis/Circle CI), then make use of that infrastructure to luanch your tests with either option from the above.

Deploy J2EE app (running on JBoss) to AWS Elastic Beanstalk

I have a J2EE web application running on JBoss and RHEL/CentOS.
What would be the best option available in AWS to migrate my application to cloud?
Option 1: Provision EC2 instance with RHEL/CentOS and deploy JBoss and deploy application war files.
Option 2: Deploy application into Elastic Beanstalk using Docker.
Option 3: Deploy application into Elastic Beanstalk using Java.
Option 3 does not suite me as they only support Tomcat.
Option 2 may suite me if I make code changes to deploy into Docker container.
Option 1 may suite me the best, but it may not be possible to auto-scale.
Kindly advice me if my understanding is correct or not and if you have any better ideas for running J2EE application using JBoss in AWS.
Much appreciated. Thanks in advance.

manage migrations when deploy rails app with AWS Elastic Beanstalk

AWS Elastic Beanstalk is easy to use for deploying rails app on Amazon EC2. By set RAILS_SKIP_MIGRATIONS as true, eb won't run the migrations itself so I can manage migrations myself.
However,SSH to the EC2 instance that created by Beanstalk, I can't find the deployed rails app in the home directory.Then I don't know where to manually rake the migrations.
I wonder why the rails app can't be found on the EC2 instance since the instance is the web server to host the app. Is it hidden somewhere? And how should I manually rake the migrations?
Thanks
Try take a look at /var/app/current.
I think you can't find rake, because elastic beanstalk run ruby environment in virtual environment - rvm. Try to find in the directory /opt environment variables which set up ruby environment for current terminal. I'm not sure for ruby, but for python you should do: source /opt/python/current/env.