kind: pipeline type: docker name: analyseAndBuild steps: - name: code-analysis image: sonarsource/sonar-scanner-cli detach: true failure: ignore commands: - sonar-scanner -Dsonar.projectKey=cv -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: buildAndTest image: node:14 commands: - npm install - npm run build environment: REACT_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 environment: REACT_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/cv source: build/* - name: deploy image: appleboy/drone-ssh settings: host: amine-louveau.fr user: ubuntu key: from_secret: privateKey command_timeout: 2m script: - cd /home/ubuntu/cv - mv build/* ./ - sudo chown www-data:www-data ./* - sudo rm -rf /var/www/amine/CV2/* - sudo mv ./* /var/www/amine/CV2/ trigger: event: - promote target: - production volumes: - name: cache host: path: /tmp/cache