--- ################# # Frontend Test # ################# kind: pipeline type: docker name: frontend_run_tests steps: - name: test-frontend image: node volumes: - name: frontend_node_cache path: /drone/src/frontend/node_modules commands: - pwd - cd ./frontend - npm install - npm test volumes: - name: frontend_node_cache host: path: /tmp/cache/drone/frontend/node_modules --- ################# # Backend Tests # ################# kind: pipeline type: docker name: backend_run_tests steps: - name: test-backend image: node volumes: - name: backend_node_cache path: /drone/src/backend/node_modules commands: - pwd - cd ./backend - npm install - npm test volumes: - name: backend_node_cache host: path: /tmp/cache/drone/backend/node_modules --- ################## # Frontend Build # ################## kind: pipeline type: docker name: frontend_run_build depends_on: - frontend_run_tests trigger: status: - success branch: - dev steps: - name: build-frontend image: node volumes: - name: frontend_node_cache path: /drone/src/frontend/node_modules - name: frontend_build path: /drone/src/frontend/build commands: - cd ./frontend - rm -Rf ./build/* - npx browserslist@latest --update-db - npm run build - ls ./build environment: NODE_OPTIONS: --openssl-legacy-provider volumes: - name: frontend_node_cache host: path: /tmp/cache/drone/frontend/node_modules - name: frontend_build host: path: /tmp/cache/drone/frontend/build --- ##################### # Deploy to Staging # ##################### kind: pipeline name: deploy trigger: branch: - dev steps: # post-receive hook - name: push commit image: appleboy/drone-git-push:0.2.0-linux-amd64 settings: branch: master remote: maeda@137.184.88.161:/opt/siimee.git remote_name: staging force: true ssh_key: # !: id_rsa from DRONE machine from_secret: push_deploy_key volumes: - name: backend_node_cache host: path: /tmp/cache/drone/backend/node_modules