Site Tools


Hotfix release available: 2026-07-14c "Mort". upgrade now! [57.3] (what's this?)
Hotfix release available: 2026-07-14b "Mort". upgrade now! [57.2] (what's this?)
Hotfix release available: 2026-07-14a "Mort". upgrade now! [57.1] (what's this?)
New release available: 2026-07-14 "Mort". upgrade now! [57] (what's this?)
Hotfix release available: 2025-05-14b "Librarian". upgrade now! [56.2] (what's this?)
Hotfix release available: 2025-05-14a "Librarian". upgrade now! [56.1] (what's this?)
New release available: 2025-05-14 "Librarian". upgrade now! [56] (what's this?)
aws-team:projects:aws-and-ci-cd-sample-project

This is an old revision of the document!


<html><div class='indentH3'></html>

AWS & CI/CD sample Project

This page includes a test project about AWS & DevOps.

<html><span class='marketingParagraph'></html>This document is intended for the bSup development team. If you are interested in AWS solutions, please contact us through the AWS Services page.<html></span></html>

AWS Sample Project

This is a simple test which is a sample from a group of our AWS deployments. Our team mostly implements web applications. So the test is about deployment of a web application to Elastic Beanstalk server.

App Info

The app to be installed on the AWS is built with,

  • Laravel - The PHP Framework
  • vue.js - Progressive framework for building user interfaces
  • Bootstrap - Front-end component library

Deployment

Requirements: Nginx PHP >= 7.0 MySQL >= 5.7 NPM Supervisor Installation: 1. Installed php modules must be: <html><div class=“codeline”></html> php-common php-fpm php-mbstring php-tokenizer php-xml php-curl php-mysql php-zip php-bcmath php-json <html></div></html>

2. Create a database and add a guideline of how to get DB credentials 3. Import a SQL file into the created DB 4. In DB change the id to 3 in users table where the id is 1 5. Copy env variables file called .env from S3 or local storage. For the CI/CD sample project, please add secrets to GitHub for .env file 6. Run (composer is not pre-installed):

<html><div class=“codeline”></html> code@terminal:~$ composer install –optimize-autoloader <html></div></html>

7. Then run (npm is not pre-installed):

<html><div class=“codeline”></html> code@terminal:~$ php artisan key:generate code@terminal:~$ php artisan passport:install code@terminal:~$ php artisan storage:link code@terminal:~$ php artisan optimize:config code@terminal:~$ npm install code@terminal:~$ npm run production <html></div></html>

8. Setup appropriate permission using:

<html><div class=“codeline”></html> code@terminal:~$ sudo chgrp -R www-data storage bootstrap/cache code@terminal:~$ sudo chmod -R ug+rwx storage bootstrap/cache <html></div></html>

9. Setup a Supervisor config and start it (Supervisor is not pre-installed):

<html><div class=“codeline”></html> [program:laravel-worker-aws] process_name=%(program_name)s_%(process_num)02d command=php /PATH_TO_PROJECT/artisan queue:work –tries=3 autostart=true autorestart=true user=root numprocs=4 redirect_stderr=true stdout_logfile=/PATH_TO_PROJECT/storage/logs/worker.log <html></div></html>

10. Add a Cron entry:

<html><div class=“codeline”></html> * * * * * php /var/www/medvoice/artisan schedule:run » /dev/null 2>&1 <html></div></html>

11. Setup SSL. We recommend AWS certificates instead of Let’s encrypt. We also expect a guideline, written in markdown format, to setup and config our servers.

CI/CD Sample Project

We use GitHub as our main Git repository system. Please write a GitHub action to automatically deploy the application to Elastic Beanstalk server.

After implementing workflows please push them into a GitHub repository and send us the link.

FYI future projects include ECS and possibly other container based deployments.

<html></div></html>

aws-team/projects/aws-and-ci-cd-sample-project.1594543678.txt.gz · Last modified: 2026/06/26 08:49 (external edit)