Update .gitlab-ci.yml file
This commit is contained in:
@@ -11,7 +11,7 @@ stages:
|
|||||||
|
|
||||||
variables:
|
variables:
|
||||||
NODE_ENV: production
|
NODE_ENV: production
|
||||||
# Falls dein Build woanders hin schreibt (z.B. "build" oder ".output/public"):
|
# Wenn dein Build woanders hin schreibt (z.B. "build" oder ".output/public"):
|
||||||
# HIER anpassen!
|
# HIER anpassen!
|
||||||
BUILD_DIR: dist
|
BUILD_DIR: dist
|
||||||
|
|
||||||
@@ -70,13 +70,13 @@ build:
|
|||||||
expire_in: 1 week
|
expire_in: 1 week
|
||||||
|
|
||||||
# -----------------------------------------
|
# -----------------------------------------
|
||||||
# 3. Template für FTPS-Deployment
|
# 3a. Staging Deployment via FTPS
|
||||||
# -----------------------------------------
|
# -----------------------------------------
|
||||||
.deploy_ftps_template: &deploy_ftps
|
deploy:staging:
|
||||||
stage: deploy
|
stage: deploy
|
||||||
image: alpine:3.20
|
image: alpine:3.20
|
||||||
dependencies:
|
dependencies:
|
||||||
- build # <<< ganz wichtig: lade Artefakte vom Build-Job
|
- build
|
||||||
before_script:
|
before_script:
|
||||||
- echo "📡 Installing lftp..."
|
- echo "📡 Installing lftp..."
|
||||||
- apk add --no-cache lftp
|
- apk add --no-cache lftp
|
||||||
@@ -87,25 +87,9 @@ build:
|
|||||||
- if [ -d "${BUILD_DIR}" ]; then ls -la "${BUILD_DIR}"; else echo "❌ ${BUILD_DIR} existiert HIER nicht!"; fi
|
- if [ -d "${BUILD_DIR}" ]; then ls -la "${BUILD_DIR}"; else echo "❌ ${BUILD_DIR} existiert HIER nicht!"; fi
|
||||||
script:
|
script:
|
||||||
- if [ ! -d "${BUILD_DIR}" ]; then echo "❌ Abbruch: Build-Verzeichnis ${BUILD_DIR} fehlt im Deploy-Job."; exit 1; fi
|
- if [ ! -d "${BUILD_DIR}" ]; then echo "❌ Abbruch: Build-Verzeichnis ${BUILD_DIR} fehlt im Deploy-Job."; exit 1; fi
|
||||||
- echo "🚀 Deploy via FTPS to $FTP_HOST:$FTP_PATH ..."
|
- echo "🚀 Deploy via FTPS to $FTP_HOST:$FTP_PATH_STAGING ..."
|
||||||
- lftp -e "
|
- lftp -e "set ftp:ssl-force true; set ftp:passive-mode true; set ftp:ssl-protect-data true; set ssl:verify-certificate no; open -u $FTP_USER,$FTP_PASSWORD $FTP_HOST; mirror -R --delete --parallel=4 ${BUILD_DIR}/ $FTP_PATH_STAGING; bye"
|
||||||
set ftp:ssl-force true;
|
- echo "✅ Deploy finished (staging)."
|
||||||
set ftp:passive-mode true;
|
|
||||||
set ftp:ssl-protect-data true;
|
|
||||||
set ssl:verify-certificate no;
|
|
||||||
open -u $FTP_USER,$FTP_PASSWORD $FTP_HOST;
|
|
||||||
mirror -R --delete --parallel=4 ${BUILD_DIR}/ $FTP_PATH;
|
|
||||||
bye
|
|
||||||
"
|
|
||||||
- echo "✅ Deploy finished."
|
|
||||||
|
|
||||||
# -----------------------------------------
|
|
||||||
# 3a. Staging Deployment
|
|
||||||
# -----------------------------------------
|
|
||||||
deploy:staging:
|
|
||||||
<<: *deploy_ftps
|
|
||||||
variables:
|
|
||||||
FTP_PATH: $FTP_PATH_STAGING
|
|
||||||
environment:
|
environment:
|
||||||
name: staging
|
name: staging
|
||||||
url: https://staging.usbcheck.it
|
url: https://staging.usbcheck.it
|
||||||
@@ -114,12 +98,26 @@ deploy:staging:
|
|||||||
- merge_requests
|
- merge_requests
|
||||||
|
|
||||||
# -----------------------------------------
|
# -----------------------------------------
|
||||||
# 3b. Production Deployment
|
# 3b. Production Deployment via FTPS
|
||||||
# -----------------------------------------
|
# -----------------------------------------
|
||||||
deploy:production:
|
deploy:production:
|
||||||
<<: *deploy_ftps
|
stage: deploy
|
||||||
variables:
|
image: alpine:3.20
|
||||||
FTP_PATH: $FTP_PATH_PROD
|
dependencies:
|
||||||
|
- build
|
||||||
|
before_script:
|
||||||
|
- echo "📡 Installing lftp..."
|
||||||
|
- apk add --no-cache lftp
|
||||||
|
- echo "📂 Dateien im CI-Workspace vor Deploy:"
|
||||||
|
- pwd
|
||||||
|
- ls -la
|
||||||
|
- echo "📂 Inhalt von ${BUILD_DIR} (Deploy-Job):"
|
||||||
|
- if [ -d "${BUILD_DIR}" ]; then ls -la "${BUILD_DIR}"; else echo "❌ ${BUILD_DIR} existiert HIER nicht!"; fi
|
||||||
|
script:
|
||||||
|
- if [ ! -d "${BUILD_DIR}" ]; then echo "❌ Abbruch: Build-Verzeichnis ${BUILD_DIR} fehlt im Deploy-Job."; exit 1; fi
|
||||||
|
- echo "🚀 Deploy via FTPS to $FTP_HOST:$FTP_PATH_PROD ..."
|
||||||
|
- lftp -e "set ftp:ssl-force true; set ftp:passive-mode true; set ftp:ssl-protect-data true; set ssl:verify-certificate no; open -u $FTP_USER,$FTP_PASSWORD $FTP_HOST; mirror -R --delete --parallel=4 ${BUILD_DIR}/ $FTP_PATH_PROD; bye"
|
||||||
|
- echo "✅ Deploy finished (production)."
|
||||||
environment:
|
environment:
|
||||||
name: production
|
name: production
|
||||||
url: https://www.usbcheck.it
|
url: https://www.usbcheck.it
|
||||||
|
|||||||
Reference in New Issue
Block a user