feat:drone, dockerfile
continuous-integration/drone Build is passing Details

This commit is contained in:
Rama Priyanto 2026-04-16 06:43:03 +07:00
parent cf53b73485
commit 125ee54028
2 changed files with 76 additions and 0 deletions

42
.drone.yml Normal file
View File

@ -0,0 +1,42 @@
kind: pipeline
type: ssh
name: multipool-ta-fe-build-deploy
server:
host:
from_secret: ssh_host
user:
from_secret: ssh_user
ssh_key:
from_secret: ssh_key
steps:
- name: prepare repo
when:
branch:
- main
commands:
- rm -rf /opt/build/multipool-ta-fe
- mkdir -p /opt/build
- cd /opt/build
- git clone http://38.47.180.165:3000/multipool-ta/multipool-ta-fe.git
- name: build image
when:
branch:
- main
commands:
- docker login 38.47.180.165:3000 -u administrator -p HarborDockerImageRep0
- cd /opt/build/multipool-ta-fe
- docker build -t 38.47.180.165:3000/multipool-ta/multipool-ta-fe:$DRONE_BRANCH .
- docker push 38.47.180.165:3000/multipool-ta/multipool-ta-fe:$DRONE_BRANCH
- name: deploy
when:
branch:
- main
commands:
- docker pull 38.47.180.165:3000/multipool-ta/multipool-ta-fe:$DRONE_BRANCH
- docker stop web-multipool-ta-fe|| true
- docker rm web-multipool-ta-fe || true
- docker run -dt -p 4800:4000 --restart always --name web-multipool-ta-fe 38.47.180.165:3000/multipool-ta/multipool-ta-fe:$DRONE_BRANCH

34
Dockerfile Normal file
View File

@ -0,0 +1,34 @@
FROM node:23.5.0-alpine
ENV PORT=4000
ENV NODE_ENV=production
ENV NODE_OPTIONS="--max-old-space-size=4096"
RUN apk add --no-cache \
python3 \
make \
g++ \
git \
sqlite-dev
WORKDIR /usr/src/app
# Copy dependency files
COPY package.json package-lock.json ./
# Install dependencies
RUN npm install
# Copy source code
COPY . .
# Init DB (aman karena pakai || true)
# RUN mkdir -p ./lib/db
# RUN node scripts/init-db.js || true
# Build Next.js
RUN npm run build
EXPOSE 4000
CMD ["npm", "run", "start"]