--- kind: pipeline type: docker name: frontend steps: - name: Restore cache image: plugins/s3-cache settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key restore: true debug: true filename: frontend.tar workdir: frontend/ - name: Install packages image: node commands: - cd frontend - yarn - name: Build and push frontend image image: plugins/docker settings: username: from_secret: docker_username password: from_secret: docker_password dockerfile: frontend/Dockerfile context: frontend/ use_cache: true repo: docker.humenius.me/humenius/ts-onlinetime-ranks-frontend registry: docker.humenius.me tags: ["latest", "${DRONE_SEMVER}"] - name: Rebuild cache image: plugins/s3-cache settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key rebuild: true debug: true filename: frontend.tar mount: - frontend/node_modules when: event: push status: [ success, failure ] - name: Flush cache image: plugins/s3-cache:1 settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key flush: true flush_age: 14 debug: true filename: frontend.tar when: status: [ success, failure ] trigger: event: [ tag, promote ] refs: [ refs/heads/release/*, refs/tags/* ] --- kind: pipeline type: docker name: frontend-dev steps: - name: Restore cache image: plugins/s3-cache settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key restore: true debug: true filename: frontend-dev.tar workdir: frontend/ - name: Install packages image: node commands: - cd frontend - ls -la - yarn - name: Build and push frontend dev image image: plugins/docker settings: username: from_secret: docker_username password: from_secret: docker_password dockerfile: frontend/Dockerfile context: frontend/ use_cache: true repo: docker.humenius.me/humenius/ts-onlinetime-ranks-frontend registry: docker.humenius.me tags: ["dev-${DRONE_COMMIT_SHA}", "dev-latest"] - name: Rebuild cache image: plugins/s3-cache settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key rebuild: true debug: true filename: frontend-dev.tar mount: - frontend/node_modules when: status: [ success, failure ] - name: Flush cache image: plugins/s3-cache:1 settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key flush: true flush_age: 14 debug: true filename: frontend-dev.tar when: status: [ success, failure ] trigger: event: [ push, pull_request, promote ] # refs: [ refs/heads/release/*, refs/heads/master, refs/heads/feature/*, refs/heads/hotfix/* ] --- kind: pipeline type: docker name: backend steps: - name: Restore cache image: plugins/s3-cache settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key restore: true debug: true filename: backend.tar workdir: backend/ - name: Install packages image: node commands: - cd backend - npm install - name: Run unit tests image: node commands: - cd backend - ls -la - npm run test:cov - name: Build and push backend image image: plugins/docker settings: username: from_secret: docker_username password: from_secret: docker_password dockerfile: backend/Dockerfile use_cache: true context: backend/ repo: docker.humenius.me/humenius/ts-onlinetime-ranks-backend registry: docker.humenius.me tags: ["latest", "${DRONE_SEMVER}"] - name: Rebuild cache image: plugins/s3-cache settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key rebuild: true debug: true filename: backend.tar mount: - backend/node_modules when: status: [ success, failure ] - name: Flush cache image: plugins/s3-cache:1 settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key flush: true flush_age: 14 debug: true filename: backend.tar when: status: [ success, failure ] trigger: event: [ tag, promote ] refs: [ refs/heads/release/*, refs/tags/* ] --- kind: pipeline type: docker name: backend-dev steps: - name: Restore cache image: plugins/s3-cache settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key restore: true debug: true filename: backend-dev.tar workdir: backend/ - name: Install packages image: node commands: - cd backend - npm install - name: Run unit tests image: node commands: - cd backend - npm run test:cov - name: Build and push backend dev image image: plugins/docker settings: username: from_secret: docker_username password: from_secret: docker_password dockerfile: backend/Dockerfile context: backend/ use_cache: true repo: docker.humenius.me/humenius/ts-onlinetime-ranks-backend registry: docker.humenius.me tags: ["dev-${DRONE_COMMIT_SHA}", "dev-latest"] - name: Rebuild cache image: plugins/s3-cache settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key rebuild: true debug: true filename: backend-dev.tar mount: - backend/node_modules when: status: [ success, failure ] - name: Flush cache image: plugins/s3-cache:1 settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key flush: true flush_age: 14 debug: true filename: backend-dev.tar when: status: [ success, failure ] trigger: event: [ push, pull_request, promote ] # refs: [ refs/heads/master, refs/heads/feature/*, refs/heads/hotfix/* ]