LalithChoudharyG / SilenTalk

Our program addresses the communication gap faced by over 70M+ sign language users by providing real-time translation of sign language into text and audio, using “Real-Time Bidirectional Translation” offering innovative solutions for Deaf individuals and those who do not know sign language.
0 stars 0 forks source link

workflow #31

Closed 19swathi closed 3 weeks ago

19swathi commented 3 weeks ago

CI/CD Pipeline for Django Application on AWS This GitHub Actions workflow automates the continuous integration and continuous deployment (CI/CD) process for a Django application hosted on AWS Elastic Beanstalk. The workflow is triggered on every push to the main branch, ensuring that any new changes are tested and deployed automatically.

Key Features: Testing:

The pipeline first runs Django unit tests to ensure the code works as expected. The test job checks out the repository, sets up Python 3.8, installs required dependencies, and runs the tests using Django's manage.py test command. Deployment to AWS Elastic Beanstalk:

If all tests pass, the deployment job is triggered. The deployment process involves packaging the Django application into a ZIP file, uploading it to an AWS S3 bucket, and deploying the new version to AWS Elastic Beanstalk. AWS credentials (stored securely as GitHub secrets) are used to authenticate and deploy the app. Workflow Steps: Test Job: Checks out the repository. Sets up Python 3.8 and installs the necessary dependencies. Runs Django tests to ensure code integrity. Deploy Job: Proceeds only if the tests pass. Packages the app into a ZIP file and deploys it to AWS Elastic Beanstalk using the AWS CLI. Environment Variables: The following environment variables are securely stored in GitHub secrets and are required for deployment:

AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_REGION Make sure to replace the placeholders (, , and ) with the correct values based on your versioning and environment configuration.

This CI/CD pipeline ensures a smooth and reliable deployment process, allowing you to focus on development while automating testing and production deployments.