kind: pipeline type: docker name: analyseAndBuild steps: - name: code-analysis image: sonarsource/sonar-scanner-cli detach: true failure: ignore commands: - ls -la - sonar-scanner -Dsonar.projectKey=LDC-WWW -Dsonar.sources=. -Dsonar.host.url=$SONAR_HOST_URL -Dsonar.login=$SONAR_LOGIN environment: SONAR_HOST_URL: from_secret: sonarScannerHostUrl SONAR_LOGIN: from_secret: sonarScannerLogin - name: restore-cache image: drillster/drone-volume-cache volumes: - name: cache path: /cache settings: restore: true mount: - ./node_modules - name: build image: node:14 commands: - npm install - npm run lint - npm run build:prod environment: VUE_APP_API_BASE_URL: from_secret: baseurl - name: rebuild-cache image: drillster/drone-volume-cache volumes: - name: cache path: /cache settings: rebuild: true mount: - ./node_modules trigger: event: - push - pull_request volumes: - name: cache host: path: /tmp/cache --- kind: pipeline type: docker name: CopyToServer steps: - name: restore-cache image: drillster/drone-volume-cache volumes: - name: cache path: /cache settings: restore: true mount: - ./node_modules - name: build image: node:14 commands: - npm install - npm run build:prod environment: VUE_APP_API_BASE_URL: from_secret: baseurl - name: rebuild-cache image: drillster/drone-volume-cache volumes: - name: cache path: /cache settings: rebuild: true mount: - ./node_modules - name: scp files image: appleboy/drone-scp settings: host: amine-louveau.fr username: ubuntu key: from_secret: privateKey port: 22 target: /home/ubuntu/courses source: dist/* trigger: event: - promote target: - production --- kind: pipeline type: ssh name: Deploy server: host: amine-louveau.fr user: ubuntu ssh_key: from_secret: ssh_key steps: - name: copy commands: - 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/ depends_on: - CopyToServer trigger: event: - promote target: - production