This commit is contained in:
7
.dockerignore
Normal file
7
.dockerignore
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# .dockerignore
|
||||||
|
/.drone.yml
|
||||||
|
/.nuxt
|
||||||
|
/.output
|
||||||
|
/docker
|
||||||
|
/node_modules
|
||||||
|
/.git*
|
||||||
51
.drone.yml
Normal file
51
.drone.yml
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: testing
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: build
|
||||||
|
image: docker:dind
|
||||||
|
environment:
|
||||||
|
BASE_PATH: /${DRONE_REPO_OWNER}/${DRONE_REPO_NAME}/${DRONE_COMMIT_BRANCH}/
|
||||||
|
COMPOSE_PROJECT_NAME: ${DRONE_REPO_OWNER,,}-${DRONE_REPO_NAME,,}-${DRONE_COMMIT_BRANCH//\//-}
|
||||||
|
SERVICE_3000_CHECK_HTTP: /${DRONE_REPO_OWNER}/${DRONE_REPO_NAME}/${DRONE_COMMIT_BRANCH}/
|
||||||
|
SERVICE_3000_TAGS: urlprefix-testing.asycn.io/${DRONE_REPO_OWNER}/${DRONE_REPO_NAME}/${DRONE_COMMIT_BRANCH}/*
|
||||||
|
commands:
|
||||||
|
- docker compose -f docker/docker-compose.yml -f docker/docker-compose.labels.yml up --build -d
|
||||||
|
volumes:
|
||||||
|
- name: dockersock
|
||||||
|
path: /var/run/docker.sock
|
||||||
|
|
||||||
|
- name: notify
|
||||||
|
image: appleboy/drone-telegram
|
||||||
|
when:
|
||||||
|
status:
|
||||||
|
- success
|
||||||
|
- failure
|
||||||
|
settings:
|
||||||
|
token:
|
||||||
|
from_secret: telegram_token
|
||||||
|
to:
|
||||||
|
from_secret: telegram_chat_id_ajr
|
||||||
|
format: markdown
|
||||||
|
message: >
|
||||||
|
{{#success build.status}}
|
||||||
|
✅ `{{commit.email}}` a mis à jour la branche `{{commit.branch}}` sur le repo `{{repo.name}}`:
|
||||||
|
```
|
||||||
|
{{commit.message}}
|
||||||
|
```
|
||||||
|
🌐 https://testing.asycn.io/${DRONE_REPO_OWNER}/${DRONE_REPO_NAME}/{{commit.branch}}/
|
||||||
|
{{else}}
|
||||||
|
❌ Le build #{{build.number}} du repo `{{repo.name}}` est un gros fail...
|
||||||
|
📝 Commit de {{commit.email}} sur la branche `{{commit.branch}}`:
|
||||||
|
```
|
||||||
|
{{commit.message}}
|
||||||
|
```
|
||||||
|
🌐 {{ build.link }}
|
||||||
|
{{/success}}
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: dockersock
|
||||||
|
host:
|
||||||
|
path: /var/run/docker.sock
|
||||||
15
docker/Dockerfile
Normal file
15
docker/Dockerfile
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
ARG NODE_VERSION=22
|
||||||
|
FROM node:${NODE_VERSION}-alpine AS base
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
FROM base AS build
|
||||||
|
ENV BASE_PATH=/
|
||||||
|
COPY package.json package-lock.json ./
|
||||||
|
RUN npm install
|
||||||
|
COPY --link ./ ./
|
||||||
|
RUN sed -i 's|"basePath": "/"|"basePath": "'${BASE_PATH:-/}'"|' config.json
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
FROM build AS prod
|
||||||
|
ENV NODE_ENV=production
|
||||||
|
CMD ["npm", "run","serve"]
|
||||||
8
docker/docker-compose.labels.yml
Normal file
8
docker/docker-compose.labels.yml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
radar:
|
||||||
|
labels:
|
||||||
|
- SERVICE_3000_CHECK_HTTP=${SERVICE_3000_CHECK_HTTP:-${BASE_PATH:-/}}
|
||||||
|
- SERVICE_3000_NAME=${SERVICE_3000_NAME:-${COMPOSE_PROJECT_NAME:-radar-3000}}
|
||||||
|
- SERVICE_3000_TAGS=${SERVICE_3000_TAGS:-urlprefix-radar.localhost/*}
|
||||||
9
docker/docker-compose.local.yml
Normal file
9
docker/docker-compose.local.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
radar:
|
||||||
|
ports:
|
||||||
|
- 3000:3000
|
||||||
|
volumes:
|
||||||
|
- ..:/app
|
||||||
|
|
||||||
12
docker/docker-compose.yml
Normal file
12
docker/docker-compose.yml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
radar:
|
||||||
|
build:
|
||||||
|
context: ..
|
||||||
|
dockerfile: docker/Dockerfile
|
||||||
|
environment:
|
||||||
|
NODE_ENV: ${NODE_ENV:-production}
|
||||||
|
ports:
|
||||||
|
- 3000
|
||||||
|
restart: always
|
||||||
Reference in New Issue
Block a user