372 lines
7.9 KiB
YAML
372 lines
7.9 KiB
YAML
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: Run unit tests
|
|
# image: node
|
|
# environment:
|
|
# CI: true
|
|
# commands:
|
|
# - cd frontend
|
|
# - yarn test
|
|
|
|
- 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:
|
|
branch:
|
|
- release/*
|
|
ref:
|
|
- refs/tags/* # only trigger when tagging
|
|
|
|
---
|
|
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: Run unit tests
|
|
# image: node
|
|
# environment:
|
|
# CI: true
|
|
# commands:
|
|
# - cd frontend
|
|
# - yarn test
|
|
|
|
- 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:
|
|
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-dev.tar
|
|
when:
|
|
status:
|
|
- success
|
|
- failure
|
|
|
|
trigger:
|
|
exclude:
|
|
branch:
|
|
- release/*
|
|
|
|
---
|
|
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: Run E2E tests
|
|
# image: node
|
|
# - cd backend
|
|
# - npm run test:e2e
|
|
|
|
- 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:
|
|
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: backend.tar
|
|
when:
|
|
status:
|
|
- success
|
|
- failure
|
|
|
|
trigger:
|
|
branch:
|
|
- release/*
|
|
ref:
|
|
- refs/tags/* # only trigger when tagging
|
|
|
|
---
|
|
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: Run E2E tests
|
|
# image: node
|
|
# - cd backend
|
|
# - npm run test:e2e
|
|
|
|
- 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:
|
|
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: backend-dev.tar
|
|
when:
|
|
status:
|
|
- success
|
|
- failure
|
|
|
|
trigger:
|
|
exclude:
|
|
branch:
|
|
- release/* |