diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d42dc30..90e6fe9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,18 +6,19 @@ stages: remove-old-services: stage: prepare script: - - podman stop ll-backend - - podman rm ll-backend + - systemctl --user stop little-lines-backend + - podman rm --force little-lines-backend + - cp little-lines-backend.container ~/.config/containers/systemd + - systemctl --user daemon-reload container-build: stage: build script: - - podman build -t ll-backend . + - sed -i "s/DATE/$(date -I)/g" ${CI_PROJECT_DIR}/server.js + - sed -i "s/VERSION/$(git log -1 --oneline | awk '{print $1}')/g" ${CI_PROJECT_DIR}/server.js + - podman build -t little-lines-backend . container-deploy: stage: deploy script: - - podman run --name ll-backend -p 5001:5001 -v /home/sasha/Data1/Apps/ll-backend/.env:/opt/ll-backend/.env -d ll-backend - - podman generate systemd ll-backend > ~/.config/systemd/user/ll-backend.service - - systemctl --user daemon-reload - - systemctl --user enable ll-backend + - systemctl --user start little-lines-backend diff --git a/Dockerfile b/Dockerfile index 2f586e5..1af8933 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM nginx:alpine +FROM docker.io/library/alpine:latest # Set up environment for building RUN apk add yarn nodejs diff --git a/little-lines-backend.container b/little-lines-backend.container new file mode 100644 index 0000000..6bd60c4 --- /dev/null +++ b/little-lines-backend.container @@ -0,0 +1,14 @@ +[Unit] +Description=Little Lines backend container + +[Container] +ContainerName=little-lines-backend +Image=localhost/little-lines-backend +PublishPort=5001:5001 +Volume= /media/sasha/Data1/Apps/ll-backend/.env:/opt/ll-backend/.env + +[Service] +Restart=always + +[Install] +WantedBy=multi-user.target default.target diff --git a/server.js b/server.js index 9964297..c7c3071 100644 --- a/server.js +++ b/server.js @@ -8,6 +8,11 @@ app.use(express.json()); app.use(cors()); app.use('/api/users', require('./routes/userRoute')); +app.get('/', function(req, res) { + res.json({ + version: "DATE-VERSION" + }); +}); app.listen(process.env.PORT, () => { console.log(`server's running on port ${process.env.PORT}`);