kind: pipeline type: docker name: build steps: - name: lintAndBuild image: node:14 commands: - npm install - npm run lint - npm run build:prod environment: VUE_APP_API_BASE_URL: from_secret: baseurl - name: saveNodeModules image: drillster/drone-volume-cache volumes: - name: cache path: /cache settings: rebuild: true mount: - ./node_modules cache_key: [ DRONE_REPO_NAME, DRONE_BRANCH ] trigger: event: - push - pull_request volumes: - name: cache host: path: /tmp/cache --- kind: pipeline type: docker name: Deploy steps: - name: getNodeModules image: drillster/drone-volume-cache volumes: - name: cache path: /cache settings: restore: true mount: - ./node_modules cache_key: [ DRONE_REPO_NAME, DRONE_BRANCH ] - name: build image: node:14 commands: - npm run build:prod environment: VUE_APP_API_BASE_URL: from_secret: baseurl - name: scpFiles image: appleboy/drone-scp settings: host: amine-louveau.fr username: ubuntu key: from_secret: privateKey port: 22 target: /home/ubuntu/courses source: dist/* - name: deploy image: appleboy/drone-ssh settings: host: amine-louveau.fr user: ubuntu key: from_secret: privateKey command_timeout: 2m script: - cd /home/ubuntu/courses - mv dist/* ./ - sudo chown www-data:www-data ./* - sudo rm -rf /var/www/amine/courses/* - sudo mv ./* /var/www/amine/courses/ trigger: event: - promote target: - production volumes: - name: cache host: path: /tmp/cache