Add CI/CD

This commit is contained in:
Alfin Afif 2026-01-30 13:53:30 +07:00
parent 179ebee693
commit 247cd97c60
3 changed files with 81 additions and 0 deletions

34
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,34 @@
stages:
- build
- deploy
variables:
IMAGE_NAME: purwakarta-diskominfo-simedkom-new
IMAGE_TAG: v1.0.0
CONTAINER_NAME: purwakarta-diskominfo-simedkom-new
build:
stage: build
image: docker:latest
services:
- docker:dind
tags:
- docker
script:
- docker info
- docker build -t $IMAGE_NAME:$IMAGE_TAG .
deploy:
stage: deploy
image: docker:latest
services:
- docker:dind
tags:
- docker
before_script:
- echo -e "$ENV_FILE" > .env
script:
- docker compose down || true
- docker compose up -d --build
only:
- main

28
Dockerfile Normal file
View File

@ -0,0 +1,28 @@
FROM dunglas/frankenphp:latest
ENV SERVER_NAME=":80"
WORKDIR /app
# Copy project ke dalam container
COPY . /app
RUN apt-get update && apt-get install -y \
libpng-dev \
libjpeg-dev \
libfreetype6-dev \
libzip-dev \
libicu-dev \
pkg-config \
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install gd \
&& docker-php-ext-install pdo pdo_mysql zip bcmath intl \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
COPY composer.json composer.lock ./
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
RUN composer install --no-dev --optimize-autoloader && \
composer clear-cache

19
docker-compose.yml Normal file
View File

@ -0,0 +1,19 @@
services:
app:
build:
context: .
image: purwakarta-diskominfo-simedkom-new:v1.0.0
# command: >
# sh -c "echo 'max_execution_time=300' > /usr/local/etc/php/conf.d/custom.ini && php artisan storage:link && pap artisan optimize:clear && php-fpm"
container_name: purwakarta-diskominfo-simedkom-new
ports:
- "8103:80"
env_file:
- .env
networks:
- gitlab-repo
networks:
gitlab-repo:
external: true