fix: image build
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
image: docker:20.10.17
|
||||
|
||||
variables:
|
||||
DOCKER_HOST: tcp://docker:2375
|
||||
DOCKER_TLS_CERTDIR: ''
|
||||
DEV_CONTAINER_REGISTRY: eu.gcr.io/vnc-development/prosody-muc-rest-api:development
|
||||
IMAGE_TAG: eu.gcr.io/vnc-development/prosody-muc-rest-api:development-$CI_COMMIT_SHORT_SHA
|
||||
IMAGE_TAG_PROD: eu.gcr.io/vnc-dev-275609/prosody-muc-rest-api:production
|
||||
IMAGE_TAG_STABLE: eu.gcr.io/vnc-stable/prosody-muc-rest-api:stable
|
||||
|
||||
services:
|
||||
- name: docker:20.10.17-dind
|
||||
alias: docker
|
||||
|
||||
stages:
|
||||
- build_deb
|
||||
- docker
|
||||
- scan
|
||||
- notification
|
||||
|
||||
dev_deploy:
|
||||
before_script:
|
||||
- until docker info; do sleep 1; done
|
||||
- base64 -d $SA_Development | docker login -u _json_key --password-stdin https://eu.gcr.io
|
||||
stage: docker
|
||||
artifacts:
|
||||
public: false
|
||||
expire_in: 12h
|
||||
paths:
|
||||
- scan
|
||||
script:
|
||||
- docker build -t $IMAGE_TAG .
|
||||
- docker push $IMAGE_TAG
|
||||
- docker image save $IMAGE_TAG -o scan/mucrest.tgz
|
||||
only:
|
||||
- master
|
||||
|
||||
dev_trivy:
|
||||
image: eu.gcr.io/vnc-development/docker-vnc-runner:latest
|
||||
stage: scan
|
||||
script:
|
||||
- apt -y update
|
||||
- apt -y install wget apt-transport-https gnupg lsb-release
|
||||
- wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | apt-key add -
|
||||
- echo "deb https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main" >> /etc/apt/sources.list.d/trivy.list
|
||||
- apt -y update
|
||||
- apt -y install trivy
|
||||
- trivy image --input scan/mucrest.tgz
|
||||
only:
|
||||
- master
|
||||
|
||||
|
||||
|
||||
prod_deploy:
|
||||
before_script:
|
||||
- until docker info; do sleep 1; done
|
||||
- base64 -d $SA_Production | docker login -u _json_key --password-stdin https://eu.gcr.io
|
||||
stage: docker
|
||||
script:
|
||||
- echo $CI_COMMIT_TAG
|
||||
- COMMIT_VERSION=$(echo $CI_COMMIT_TAG | awk -F'prod-' '{print $2}')
|
||||
- echo $COMMIT_VERSION
|
||||
|
||||
- DEV_TAG=$DEV_CONTAINER_REGISTRY-$COMMIT_VERSION
|
||||
- echo $DEV_TAG
|
||||
- docker pull $DEV_TAG
|
||||
- PROD_IMAGE=$IMAGE_TAG_PROD-$COMMIT_VERSION
|
||||
- docker tag $DEV_TAG $PROD_IMAGE
|
||||
- docker push $PROD_IMAGE
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG =~ /^prod-.*/
|
||||
|
||||
stable_deploy:
|
||||
before_script:
|
||||
- until docker info; do sleep 1; done
|
||||
- base64 -d $SA_Production | docker login -u _json_key --password-stdin https://eu.gcr.io
|
||||
stage: docker
|
||||
script:
|
||||
- echo $CI_COMMIT_TAG
|
||||
- COMMIT_VERSION=$(echo $CI_COMMIT_TAG | awk -F'stable-' '{print $2}')
|
||||
- echo $COMMIT_VERSION
|
||||
|
||||
- DEV_TAG=$DEV_CONTAINER_REGISTRY-$COMMIT_VERSION
|
||||
- echo $DEV_TAG
|
||||
- docker pull $DEV_TAG
|
||||
- STABLE_IMAGE=$IMAGE_TAG_STABLE-$COMMIT_VERSION
|
||||
- docker tag $DEV_TAG $STABLE_IMAGE
|
||||
- docker push $STABLE_IMAGE
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG =~ /^stable-.*/
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
FROM alpine:3.16
|
||||
|
||||
RUN apk update
|
||||
RUN apk add make gcc python3 expat-static expat-dev libxmlb-dev libstdc++6 nodejs nodejs-dev libc-dev g++ libpq libpq-dev yarn
|
||||
# RUN yarn install -g serve
|
||||
RUN yarn global add pm2
|
||||
|
||||
RUN mkdir -p /usr/share/prosody-muc-rest
|
||||
RUN mkdir -p /usr/share/prosody-muc-rest/config
|
||||
ADD app /usr/share/prosody-muc-rest/app
|
||||
|
||||
COPY package.json /usr/share/prosody-muc-rest/package.json
|
||||
COPY yarn.lock /usr/share/prosody-muc-rest/yarn.lock
|
||||
COPY config/prosody-muc-rest.js /usr/share/prosody-muc-rest/config/prosody-muc-rest.js
|
||||
|
||||
RUN cd /usr/share/prosody-muc-rest && yarn install
|
||||
|
||||
#RUN npm install /usr/share/prosody-muc-rest/app
|
||||
|
||||
ENTRYPOINT ["pm2-runtime", "/usr/share/prosody-muc-rest/app/app.js"]
|
||||
Reference in New Issue
Block a user