Skip to content

Commit

Permalink
Merge pull request #16 from Ismail-Mouyahada/main
Browse files Browse the repository at this point in the history
update CICD
  • Loading branch information
Ismail-Mouyahada authored Jun 27, 2024
2 parents 2fb71ef + dd46e7b commit a2dd454
Show file tree
Hide file tree
Showing 3 changed files with 201 additions and 0 deletions.
85 changes: 85 additions & 0 deletions .github/workflows/dev.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: Development Workflow

on:
push:
branches:
- develop

jobs:
create-environment:
runs-on: ubuntu-latest

services:
postgres:
image: postgres:latest
env:
POSTGRES_USER: satsquare_user
POSTGRES_PASSWORD: satsquare_password
POSTGRES_DB: satsquare_db
ports:
- 5432:5432
options: >-
--health-cmd="pg_isready -U satsquare_user"
--health-interval=10s
--health-timeout=5s
--health-retries=5
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 18

- name: Install dependencies
run: npm install

- name: Run database migrations
run: npx prisma db push
env:
DATABASE_URL: postgresql://satsquare_user:satsquare_password@localhost:5432/satsquare_db

- name: Seed the database
run: npx prisma seed
env:
DATABASE_URL: postgresql://satsquare_user:satsquare_password@localhost:5432/satsquare_db

test:
needs: create-environment
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 18

- name: Install dependencies
run: npm install

- name: Run tests
run: npm test

security:
needs: create-environment
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 18

- name: Install dependencies
run: npm install

- name: Run security checks
run: npm audit --audit-level=moderate
115 changes: 115 additions & 0 deletions .github/workflows/prod.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
name: Production Deployment

on:
push:
branches:
- main

jobs:
create-environment:
runs-on: ubuntu-latest

services:
postgres:
image: postgres:latest
env:
POSTGRES_USER: satsquare_user
POSTGRES_PASSWORD: satsquare_password
POSTGRES_DB: satsquare_db
ports:
- 5432:5432
options: >-
--health-cmd="pg_isready -U satsquare_user"
--health-interval=10s
--health-timeout=5s
--health-retries=5
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 18

- name: Install dependencies
run: npm install

- name: Run database migrations
run: npx prisma db push
env:
DATABASE_URL: postgresql://satsquare_user:satsquare_password@localhost:5432/satsquare_db

- name: Seed the database
run: npx prisma seed
env:
DATABASE_URL: postgresql://satsquare_user:satsquare_password@localhost:5432/satsquare_db

test:
needs: create-environment
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 18

- name: Install dependencies
run: npm install

- name: Run tests
run: npm test

security:
needs: create-environment
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 18

- name: Install dependencies
run: npm install

- name: Run security checks
run: npm audit --audit-level=moderate

deploy:
needs: [create-environment, test, security]
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ secrets.GHCR_USERNAME }}
password: ${{ secrets.GHCR_TOKEN }}

- name: Build and push Docker image
run: |
docker buildx build --push --tag ghcr.io/${{ github.repository }}/nextjs-app:latest .
- name: Deploy to production
run: |
docker-compose down
docker-compose pull
docker-compose up --build -d
env:
DATABASE_URL: postgresql://satsquare_user:satsquare_password@db:5432/satsquare_db
1 change: 1 addition & 0 deletions satsquare/docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ services:
build: .
ports:
- '3000:3000'
- '5157:5157'
depends_on:
- db
environment:
Expand Down

0 comments on commit a2dd454

Please sign in to comment.