Commit b47d4684 authored by Đoàn Quốc Huy's avatar Đoàn Quốc Huy

[tag]staging

parent 3ce24867
Pipeline #43265 failed with stages
in 15 seconds
#!/bin/bash
cd .ci
sudo docker build -t $image_name:base --build-arg -f $docker_path/base.Dockerfile ../
sudo docker logout registry.gitlab.com
echo "$CI_REGISTRY_PW" | sudo docker login registry.gitlab.com -u "$CI_REGISTRY_USER" --password-stdin
sudo docker images
sudo docker push $image_name:base
#!/bin/bash
cd .ci
sudo docker build -t $image_name:$tag --build-arg -f $docker_path/build.Dockerfile ../
sudo docker logout registry.gitlab.com
echo "$CI_REGISTRY_PW" | sudo docker login registry.gitlab.com -u "$CI_REGISTRY_USER" --password-stdin
sudo docker images
sudo docker push $image_name:$tag
#!/bin/bash
cd .ci
jq -r 'keys[] as $k | "\($k)=\(.[$k])"' $environment_json_path > .env
sed -i 's|PROJECT-NAME|'$project_name'|' docker-compose.yaml
sed -i 's|ENVIRONMENT-NAME|'$environment_name'|' docker-compose.yaml
sed -i 's|IMAGE-NAME|'$image_name'|' docker-compose.yaml
sed -i 's|IMAGE-TAG|'staging-admin-$tag'|' docker-compose.yaml
sed -i 's|MOUNT-DATA-FOLDER|'$mount_data_folder'|' docker-compose.yaml
echo "$CI_REGISTRY_PW" | sudo docker login registry.gitlab.com -u "$CI_REGISTRY_USER" --password-stdin
sudo docker-compose pull
sudo docker-compose down
sudo docker-compose up -d
#!/bin/bash
export project_name="develop-mepharco"
export environment_json_path=".env"
export image_name="registry.gitlab.com/meu-solutions/ecommerce"
export port_mapping="8110"
export port_mapping_admin="8111"
export environment_name="staging"
export img_bak_tag="old"
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
FROM $image_name:latest AS buildbase
COPY . .
RUN npm run generate:api
RUN npm run build
FROM node:20-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm install --production
COPY --from=buildbase /app/.next ./.next
COPY --from=buildbase /app/public ./public
EXPOSE 3000
CMD ["npm", "run", "start"]
\ No newline at end of file
stages:
- build-base
- build
- deploy
build-base:
stage: build-base
before_script:
- tag=$(echo $CI_COMMIT_MESSAGE | sed -r 's/.*(\[tag\])//')
- check=$(echo $CI_COMMIT_MESSAGE | sed -r 's/^.*(\[tag\]).*/\1/')
- echo "To release new docker image, tagname should be 'staging', your tag is:$tag"
- export tag=$tag
- export root=$(pwd)
- export docker_path=$root/.docker
- export cicd_path=$root/.ci
- source $cicd_path/env-params.sh
script:
- |
if [ "$check" == "[tag]" ]; then
bash $cicd_path/build/base.sh
fi
only:
refs:
- release
changes:
- "package*"
tags:
- runner-builder
build:
stage: build
before_script:
- tag=$(echo $CI_COMMIT_MESSAGE | sed -r 's/.*(\[tag\])//')
- check=$(echo $CI_COMMIT_MESSAGE | sed -r 's/^.*(\[tag\]).*/\1/')
- echo "To release new docker image, tagname should be 'staging', your tag is:$tag"
- export tag=$tag
- export root=$(pwd)
- export docker_path=$root/.docker
- export cicd_path=$root/.ci
- source $cicd_path/env-params.sh
script:
- |
if [ "$check" == "[tag]" ]; then
bash $cicd_path/build/build.sh
fi
only:
refs:
- release
tags:
- runner-builder
deploy:
stage: deploy
before_script:
- check=$(echo $CI_COMMIT_MESSAGE | sed -r 's/^.*(\[tag\]).*/\1/')
- export tag=$tag
- export root=$(pwd)
- export cicd_path=$root/.ci
script:
- |
if [ "$check" == "[tag]" ]; then
bash $cicd_path/deploy/deploy.sh
fi
only:
refs:
- release
tags:
- runner-inet
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
services:
app:
container_name: ENVIRONMENT-NAME-PROJECT-NAME
image: IMAGE-NAME:IMAGE-TAG
ports:
- P-MAPPING:3000
restart: unless-stopped
pull_policy: always
networks:
meu-solutions-product-alpha-net:
ipv4_address: 192.167.10.22
networks:
meu-solutions-product-alpha-net:
external: true
name: meu-solutions-product-alpha-net
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment