--- kind: pipeline name: deployment steps: - name: build image: node commands: - npm ci - npm run build - name: test image: node commands: - npm test - name: deploy to prod image: drillster/drone-rsync secrets: [ ssh_key, bot_token_prod ] settings: hosts: - 192.168.68.120 user: vylpes key: from_secret: ssh_key source: . target: ~/apps/card-drop/card-drop_prod recursive: true script: - export PATH="$HOME/.yarn/bin:$PATH" - export PATH="$HOME/.nodeuse/bin:$PATH" - export BOT_TOKEN="$BOT_TOKEN_PROD" - cd ~/apps/card-drop/card-drop_prod - docker compose --file docker-compose.prod.yml up -d - sleep 10 - cp .prod.env .env - pm2 restart card-drop_prod || pm2 start --name card-drop_prod dist/bot.js trigger: event: - tag --- kind: pipeline name: staging steps: - name: build image: node commands: - npm ci - npm run build - name: test image: node commands: - npm test - name: deploy to stage image: drillster/drone-rsync secrets: [ ssh_key, bot_token_stage ] settings: hosts: - 192.168.68.120 user: vylpes key: from_secret: ssh_key source: . target: ~/apps/card-drop/card-drop_stage recursive: true script: - export PATH="$HOME/.yarn/bin:$PATH" - export PATH="$HOME/.nodeuse/bin:$PATH" - export BOT_TOKEN="$BOT_TOKEN_STAGE" - cd ~/apps/card-drop/card-drop_stage - docker compose --file docker-compose.stage.yml up -d - sleep 10 - cp .stage.env .env - pm2 restart card-drop_stage || pm2 start --name card-drop_stage dist/bot.js trigger: branch: - develop event: - push --- kind: pipeline name: integration steps: - name: build image: node commands: - npm ci - npm run build - name: lint image: node commands: - npm run lint - name: test image: node commands: - npm test trigger: branch: - hotfix/* - feature/* - renovate/* event: - push