up
This commit is contained in:
@@ -1,36 +0,0 @@
|
||||
# - > переносы строк удаляются
|
||||
# - | переносы строк не удаляются
|
||||
|
||||
build-npm:
|
||||
image: harbor.vimpelcom.ru/dockerhub/library/node:lts
|
||||
stage: build
|
||||
cache:
|
||||
- key:
|
||||
files:
|
||||
- package.json
|
||||
paths:
|
||||
- node_modules/
|
||||
script:
|
||||
- |
|
||||
if [ -f "${CI_PROJECT_DIR}/VERSION" ]; then
|
||||
APPVERSION=$(cat ${CI_PROJECT_DIR}/VERSION)
|
||||
fi
|
||||
echo "APPVERSION(VERSION) ${APPVERSION}"
|
||||
|
||||
if [[ -z "$APPVERSION" ]]; then
|
||||
echo "APPVERSION is null"
|
||||
exit 1
|
||||
fi
|
||||
- echo VITE_VERSION = "$APPVERSION" >> .env
|
||||
|
||||
- export PRODUCT="${PRODUCT_CLOUD}"
|
||||
|
||||
- npm install
|
||||
- npm run build
|
||||
artifacts:
|
||||
paths:
|
||||
- "$NPM_DIST_DIR"
|
||||
reports:
|
||||
dotenv: .env
|
||||
rules:
|
||||
- !reference [.build-npm-rules, rules]
|
||||
@@ -0,0 +1,48 @@
|
||||
develop:npm:
|
||||
image: harbor.vimpelcom.ru/dockerhub/library/node:lts
|
||||
stage: build
|
||||
cache:
|
||||
- key:
|
||||
files:
|
||||
- package.json
|
||||
paths:
|
||||
- node_modules/
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "feature/ci"
|
||||
variables:
|
||||
PRODUCT: "$PRODUCT_PROD"
|
||||
script:
|
||||
- export PRODUCT_VERSION=$(node -p "require('./package.json').version")
|
||||
- echo PRODUCT_VERSION="$PRODUCT_VERSION" >> .env
|
||||
- echo PRODUCT="$PRODUCT_PROD" >> .env
|
||||
- npm install
|
||||
- npm run build
|
||||
artifacts:
|
||||
paths:
|
||||
- "$DIST_DIR"
|
||||
reports:
|
||||
dotenv: .env
|
||||
expire_in: 1h
|
||||
|
||||
develop-image:
|
||||
image: harbor.vimpelcom.ru/dockerhub/library/docker:20.10.11-dind
|
||||
stage: package
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "feature/ci"
|
||||
before_script:
|
||||
- cat /certs/ca.crt >> /etc/ssl/certs/ca-certificates.crt
|
||||
- echo PRODUCT="$PRODUCT" >> .env
|
||||
- echo PRODUCT_VERSION="$PRODUCT_VERSION" >> .env
|
||||
- echo "$HARBOR_TOKEN" | docker login ${CONTAINER_REGISTRY} --username $HARBOR_USER --password-stdin
|
||||
script:
|
||||
- docker build --build-arg DIST_DIR=${DIST_DIR} -f ./build.Dockerfile -t ${CONTAINER_REGISTRY}/${PRODUCT}/${IMAGE_NAME}:$PRODUCT_VERSION -t ${CONTAINER_REGISTRY}/${PRODUCT}/${IMAGE_NAME}:latest .
|
||||
- docker push ${CONTAINER_REGISTRY}/${PRODUCT}/${IMAGE_NAME}:$PRODUCT_VERSION
|
||||
- docker push ${CONTAINER_REGISTRY}/${PRODUCT}/${IMAGE_NAME}:latest
|
||||
needs:
|
||||
- job: develop:npm
|
||||
artifacts: true
|
||||
optional: true
|
||||
artifacts:
|
||||
# Передача env без импорта с помощью source
|
||||
reports:
|
||||
dotenv: .env
|
||||
@@ -1,8 +0,0 @@
|
||||
.build-npm-rules:
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH && $CI_PIPELINE_SOURCE == "merge_request_event"
|
||||
when: never
|
||||
- if: $CI_PIPELINE_SOURCE == "push" && ($CI_COMMIT_BRANCH == "main" || $CI_COMMIT_BRANCH == "feature/ci")
|
||||
exists:
|
||||
- .npmrc
|
||||
- ./*/.npmrc
|
||||
@@ -1,13 +0,0 @@
|
||||
variables:
|
||||
TEAM_NAME: vega
|
||||
IMAGE_REGISTRY: harbor.vimpelcom.ru
|
||||
CONTAINER_REGISTRY: ${IMAGE_REGISTRY}
|
||||
NEXUS: https://nexus.vimpelcom.ru
|
||||
|
||||
NPM_DIST_DIR: "./src/.vitepress/dist"
|
||||
IMAGE_NAME: ${CI_PROJECT_NAME}
|
||||
PRODUCT_RELEASE: ${TEAM_NAME}
|
||||
PRODUCT_DEVELOP: ${TEAM_NAME}/stage
|
||||
PRODUCT_FEATURE: ${TEAM_NAME}/feature
|
||||
PRODUCT_CLOUD: ${TEAM_NAME}/cloud
|
||||
PRODUCT_VERSION: ${APPVERSION}
|
||||
Reference in New Issue
Block a user