Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Deploy a GitHub branch automatically to AWS Elastic Beanstalk

Say I have a branch stable on GitHub that I want to automatically deploy to my AWS EB instances when there is a commit.

I have looked at CodePipeline, which is not available in the region I am hosting my instances.

I have also looked at CodeDeploy but this appears to only be for a single instance of EC2 and not for Elastic Beanstalk. Please correct me if I am wrong.

All help is appreciated. I do not want to have to manually deploy every time a commit is made.

like image 810
Michael Smith Avatar asked Aug 23 '16 01:08

Michael Smith


People also ask

Can GitHub actions deploy to AWS?

Setup GitHub SecretsOIDC lets your GitHub Actions workflows access resources in AWS without needing to store the AWS credentials as long-lived GitHub secrets. These credentials are stored as GitHub secrets within your GitHub repository, under Settings > Secrets. For more information, see “GitHub Actions secrets”.

Can CodeDeploy deploy to Elastic Beanstalk?

Just like the CodeDeploy example, all it takes to deploy to Elastic Beanstalk using Codeship are a few parameters: the Elastic Beanstalk application name. the Elastic Beanstalk environment name. the S3 bucket to upload the artifact to.


2 Answers

For anyone that stumbles on this, I would like to comment saying this is possible.

  1. You need to create an application on Elastic Beanstalk (This application should be based on the runtime environment of your code for example nodejs for an application built with nodejs, php for a php-application)
  2. Make sure to select the sample application provided by aws when creating a beanstalk application.
  3. This spins up an environment that runs that sample application (feel free to configure the environment the way you want)
  4. Launch the application and then create a new pipeline but be sure to select your source as GitHub in the pipeline (this enables your branch from github to be selected as the source)
  5. In the Deploy stage of the pipeline, be sure to select Elastic Beanstalk for deployment.

A well detailed explanation can be found here: https://medium.com/@faithfulanere/how-to-create-cicd-using-github-as-source-and-elastic-beanstalk-244319a2a350

like image 73
Faithful Anere Avatar answered Oct 11 '22 17:10

Faithful Anere


currently we are using jenkins ci for BDD .and jenkins custom aws-eb plugins automatically deploy your branch to elastic beanstalk. this might be help you and even this is the alternative for codepipeline to.

like image 2
mcd Avatar answered Oct 11 '22 15:10

mcd