Skip to content

Commit 8b22083

Browse files
committed
✨ Update Docker and Deployment Configuration
- Modify Docker Compose to use new environment variable names for database configuration - Add initialization SQL script to the MySQL service in Docker Compose - Update Dockerfile to use npm install with force for dependency installation - Adjust deployment workflow to dynamically set database names in the .env file - Remove outdated migration files related to articles
1 parent 99e96aa commit 8b22083

6 files changed

Lines changed: 16 additions & 35 deletions

File tree

.github/workflows/deploy.dev.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ env:
99
APP_NAME: ${{ github.event.repository.name }}
1010
APP_PATH: /home/apps/${{ github.event.repository.name }}
1111
ENV: dev
12+
DATABASE_NAME: javascript_cm
1213

1314
jobs:
1415
deploy:
@@ -55,13 +56,13 @@ jobs:
5556
echo "DB_PORT=3306" >> .env
5657
echo "DB_USER=root" >> .env
5758
echo "DB_PASSWORD=root" >> .env
58-
echo "DB_DATABASE=jscm" >> .env
59+
echo "DB_DATABASE=${{ env.DATABASE_NAME }}" >> .env
5960
echo "MYSQL_HOST=mysql" >> .env
6061
echo "MYSQL_PORT=3306" >> .env
6162
echo "MYSQL_USER=root" >> .env
6263
echo "MYSQL_PASSWORD=root" >> .env
63-
echo "MYSQL_DB_NAME=jscm" >> .env
64-
echo "MYSQL_DATABASE=jscm" >> .env
64+
echo "MYSQL_DB_NAME=${{ env.DATABASE_NAME }}" >> .env
65+
echo "MYSQL_DATABASE=${{ env.DATABASE_NAME }}" >> .env
6566
echo "GITHUB_CLIENT_ID=github_client_id" >> .env
6667
echo "GITHUB_CLIENT_SECRET=github_client_secret" >> .env
6768
echo "GITHUB_CALLBACK_URL=http://0.0.0.0:3333/auth/github/callback" >> .env

Dockerfile.dev

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ FROM $NODE_IMAGE AS base
66
FROM base AS deps
77
WORKDIR /app
88
COPY package*.json ./
9-
RUN npm ci
9+
RUN npm install --force
1010

1111
# Production only deps stage
1212
FROM base AS production-deps
1313
WORKDIR /app
1414
COPY package*.json ./
15-
RUN npm ci --omit=dev
15+
RUN npm install --force
1616

1717
# Build stage
1818
FROM base AS build

compose.dev.yaml

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,22 @@ services:
44
container_name: jscm_mysql
55
restart: always
66
ports:
7-
- "${MYSQL_PORT:-3306}:3306"
7+
- "${DB_PORT:-3306}:3306"
88
env_file:
99
- .env
1010
volumes:
1111
- jscm_mysql_volume:/var/lib/mysql
12+
- ./database/init.sql:/docker-entrypoint-initdb.d/init.sql:ro
13+
1214
environment:
13-
- MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD}
14-
- MYSQL_DATABASE=${MYSQL_DB_NAME}
15-
- MYSQL_USER=${MYSQL_USER}
16-
# - MYSQL_PASSWORD=${MYSQL_PASSWORD}
15+
- MYSQL_ROOT_PASSWORD=${DB_PASSWORD}
16+
- MYSQL_DATABASE=${DB_DATABASE}
17+
# - MYSQL_USER=${DB_USER}
1718
healthcheck:
1819
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
1920
retries: 3
2021
timeout: 5s
22+
2123
networks:
2224
- adonis_jscm
2325

@@ -47,17 +49,10 @@ services:
4749
- GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID}
4850
- GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET}
4951
- GITHUB_CALLBACK_URL=${GITHUB_CALLBACK_URL}
50-
- MYSQL_HOST=${MYSQL_HOST}
51-
- MYSQL_PORT=${MYSQL_PORT}
52-
- MYSQL_USER=${MYSQL_USER}
53-
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
54-
- MYSQL_DB_NAME=${MYSQL_DB_NAME}
55-
- MYSQL_DATABASE=${MYSQL_DB_NAME}
56-
5752
volumes:
5853
- jscm_uploads:/app/uploads
5954
- jscm_public:/app/public
60-
command: sh -c "node ace migration:fresh --force && node ace convert:csv-to-json && node ace db:seed && node ace seed:test-data && npm run gen-docs && npm run start"
55+
command: sh -c "node ace migration:fresh --force && node ace db:seed && npm run start"
6156
depends_on:
6257
mysql:
6358
condition: service_healthy

database/init.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CREATE TABLE IF NOT EXISTS DATABASE javascript_cm;

database/migrations/17368394109899_create_articles_table.ts renamed to database/migrations/1736839410989_create_articles_table.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ export default class extends BaseSchema {
1111
table.text('excerpt').notNullable()
1212
table.text('content').notNullable()
1313
table.integer('user_id').unsigned().references('id').inTable('users').onDelete('CASCADE')
14+
table.integer('author_id').unsigned().references('id').inTable('users').onDelete('CASCADE')
1415
table.boolean('is_published').defaultTo(false)
1516
table.timestamp('published_at').nullable()
1617
table.timestamps(true, true)

database/migrations/1736839410999_add_author_id_to_articles.ts

Lines changed: 0 additions & 17 deletions
This file was deleted.

0 commit comments

Comments
 (0)