#0000 - implement Dockerfile and CI/CD
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
Guillaume "B.B." Van Hemmen 2023-11-04 12:23:08 +01:00
parent 317c439f31
commit 3093923643
Signed by: GuillaumeHemmen
GPG key ID: 7921E64524F7EB35
2 changed files with 74 additions and 0 deletions

20
.woodpecker.yml Normal file
View file

@ -0,0 +1,20 @@
steps:
docker-build:
image: plugins/docker
environment:
- CI_TZ="Europe/Paris"
- CI_NODE_MAJOR=18
- CI_DEBIAN_VERSION=12
settings:
repo: git.van-hemmen.com/guillaumehemmen/debian-node-firebase
tags: latest,debian_${CI_DEBIAN_VERSION}-node_${CI_NODE_MAJOR}
registry: git.van-hemmen.com
username:
from_secret: docker_username
password:
from_secret: docker_password
when:
event:
- cron
branch: 'master'

54
Dockerfile Normal file
View file

@ -0,0 +1,54 @@
LABEL maintainer="guillaume@van-hemmen.com"
# Changes these environment variable as needed
ENV TZ=${CI_TZ}
ENV NODE_MAJOR=${CI_NODE_MAJOR}
ENV DEBIAN_VERSION=${CI_DEBIAN_VERSION}
FROM debian:${DEBIAN_VERSION}
RUN ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime && echo ${TZ} > /etc/timezone && \
apt-get update && apt-get install -y ca-certificates curl gnupg && \
mkdir -p /etc/apt/keyrings && \
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_${NODE_MAJOR}.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \
apt-get update && apt-get install -y nodejs sudo && \
apt-get install -y \
ca-certificates \
fonts-liberation \
libappindicator3-1 \
libasound2 \
libatk-bridge2.0-0 \
libatk1.0-0 \
libc6 \
libcairo2 \
libcups2 \
libdbus-1-3 \
libexpat1 \
libfontconfig1 \
libgbm1 \
libgcc1 \
libglib2.0-0 \
libgtk-3-0 \
libnspr4 \
libnss3 \
libpango-1.0-0 \
libpangocairo-1.0-0 \
libstdc++6 \
libx11-6 \
libx11-xcb1 \
libxcb1 \
libxcomposite1 \
libxcursor1 \
libxdamage1 \
libxext6 \
libxfixes3 \
libxi6 \
libxrandr2 \
libxrender1 \
libxss1 \
libxtst6 \
lsb-release \
wget \
RUN curl -sL firebase.tools | bash