| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- stages:
- - build
- - deploy
- variables:
- GIT_SSL_NO_VERIFY: 'true'
- GIT_STRATEGY: clone
- build:
- stage: build
- when: manual
- image: node:21
- artifacts:
- expire_in: 1 day
- paths:
- - aktivisda-core/dist
- variables:
- PUBLIC_PATH: $ROOT_URL
- script:
- - echo "building app for any push on any branch or for release tags..."
- - git clone --depth 1 https://framagit.org/aktivisda/aktivisda.git -b $(python3 -c "import json; x = json.load(open('local/config.json', 'r')); print(x['aktivisda']['ref'] if 'aktivisda' in x else 'main')") aktivisda-core
- - cd aktivisda-core/aktivisda-library
- - npm install
- - npm run build
- - cd ..
- - npm install
- - cd ..
- - npm run build:aktivisda
- - npm run build:backtivisda
- rules:
- - if: $CI_PIPELINE_SOURCE == "schedule"
- when: never
- - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
- when: never
- - when: always
- ##########
- # Deploy #
- ##########
- deploy-server:
- stage: deploy
- image: debian:13
- before_script:
- script:
- - apt-get update
- - apt-get install -y lftp
- - lftp -e "set ssl:verify-certificate no;set sftp:auto-confirm yes;open sftp://$FTP_HOST -p $FTP_PORT; user $FTP_USER $FTP_PASSWORD; mirror --reverse --verbose --delete aktivisda-core/dist/aktivisda $REMOTE_DIR;exit"
- - lftp -e "set ssl:verify-certificate no;set sftp:auto-confirm yes;open sftp://$FTP_HOST -p $FTP_PORT; user $FTP_USER $FTP_PASSWORD; mirror --reverse --verbose --delete aktivisda-core/dist/backtivisda $REMOTE_DIR/backtivisda;exit"
- needs: ['build']
- dependencies: ['build']
- rules:
- - if: $CI_PIPELINE_SOURCE == "schedule"
- when: never
- - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
- when: never
- - when: always
- deploy-server-ssh:
- stage: deploy
- image: alpine:latest
- needs: ['build']
- dependencies: ['build']
- script:
- - apk update && apk add openssh && apk add rsync
- - eval $(ssh-agent -s)
- - mkdir -p ~/.ssh
- - chmod 700 ~/.ssh
- - echo "$PROD_SSH_KEY" | tr -d '\r' | ssh-add - > /dev/null
- - ssh-keyscan -p $FTP_PORT $FTP_HOSTNAME >> ~/.ssh/known_hosts 2> /dev/null
- - chmod 644 ~/.ssh/known_hosts
- - FTP_SERVER="$FTP_USER@$FTP_HOSTNAME"
- - rsync -e "ssh -p $FTP_PORT" -avz --stats --delete-after aktivisda-core/dist/aktivisda/ $FTP_SERVER:./www;
- - rsync -e "ssh -p $FTP_PORT" -avz --stats --delete-after aktivisda-core/dist/backtivisda/ $FTP_SERVER:./www/backtivisda;
- - ssh -p $FTP_PORT $FTP_SERVER "chmod a+r * -R"
- rules:
- - if: $CI_PIPELINE_SOURCE == "schedule"
- when: never
- - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
- when: never
- - when: always
|