This repository has been archived on 2023-05-17. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
auth/.drone.yml
2023-05-08 15:33:48 -04:00

229 lines
5.8 KiB
YAML

# kind: pipeline
# type: docker
# name: Test Pipeline
# workspace:
# path: /drone/grow
# steps:
# - name: yarn install
# image: node:latest
# commands:
# - yarn install
# - name: Code Style Checks
# image: node:latest
# commands:
# - yarn prettier
# - name: Lint
# image: node:latest
# commands:
# - yarn lint
# - name: Unit Tests
# image: node:latest
# commands:
# - yarn test
# - name: Send Test Status Notification
# image: plugins/webhook
# settings:
# urls: https://lab.mifi.dev/hooks/9p65zpagctgkmndo8nwwm4199r
# content_type: application/json
# template: |
# {
# "icon_url":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/198/freezing-face_1f976.png",
# "text": "[{{ repo.name }} - Build # {{ build.number }}] Code Quality Checks {{ build.status }} {{#success build.status}}:tada:{{else}}:poop:{{/success}}",
# "username":"DroneBot"
# }
# when:
# status:
# - success
# - failure
# - name: Build
# image: node:latest
# commands:
# - yarn build
# - name: Send Build Status Notifications
# image: plugins/webhook
# settings:
# urls: https://lab.mifi.dev/hooks/9p65zpagctgkmndo8nwwm4199r
# content_type: application/json
# template: |
# {
# "icon_url":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/198/freezing-face_1f976.png",
# "text": "[{{ repo.name }} - Build # {{ build.number }}] Build package {{ build.status }} {{#success build.status}}:tada:{{else}}:poop:{{/success}}",
# "username":"DroneBot"
# }
# when:
# status:
# - success
# - failure
# trigger:
# branch:
# - main
# event:
# # - pull_request
# - push
# ---
kind: pipeline
type: docker
name: Publish Pipeline
workspace:
path: /drone/grow
steps:
- name: Build Package
image: node:latest
commands:
- yarn install
- yarn build
- name: Publish NPM
image: plugins/npm
failure: ignore
settings:
username:
from_secret: registry_username
password:
from_secret: registry_password
registry: https://git.mifi.dev/api/packages/mifi/npm
token:
- from_secret: gitea_token
volumes:
- name: npmrc
path: /drone/grow/.npmrc
- name: Report NPM Publish Status
image: plugins/webhook
settings:
urls: https://lab.mifi.dev/hooks/ccw34hdf7tgbjmzp96nptn938r
content_type: application/json
template: |
{
"icon_url":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/198/freezing-face_1f976.png",
"text": "[{{ repo.name }} - New npm package release {{tag}} from # {{ build.number }}] Deploy {{ build.status }} {{#success build.status}}:tada:{{else}}:poop:{{/success}}",
"username":"DroneBot"
}
when:
status:
- success
- failure
- name: Publish Image
image: docker
environemnt:
USERNAME:
from_secret: registry_username
PASSWORD:
from_secret: registry_password
commands:
- 'docker login -u ${USERNAME} -p ${PASSWORD} git.mifi.dev'
- 'docker build -t git.mifi.dev/mifi/mifi/auth:latest -t git.mifi.dev/mifi/mifi/auth:${DRONE_TAG} .'
- docker push git.mifi.dev/mifi/mifi/auth:latest
volumes:
- name: dockersock
path: /var/run/docker.sock
- name: dockerconfig
path: /drone/grow/.docker/config.json
- name: Report Image Publish Status
image: plugins/webhook
settings:
urls: https://lab.mifi.dev/hooks/ccw34hdf7tgbjmzp96nptn938r
content_type: application/json
template: |
{
"icon_url":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/198/freezing-face_1f976.png",
"text": "[{{ repo.name }} - New docker image release {{tag}} from # {{ build.number }}] Deploy {{ build.status }} {{#success build.status}}:tada:{{else}}:poop:{{/success}}",
"username":"DroneBot"
}
when:
status:
- success
- failure
volumes:
- name: dockerconfig
host:
path: /volume1/docker/dockerconfig.json
- name: dockersock
host:
path: /var/run/docker.sock
- name: npmrc
host:
path: /volume1/docker/beethoven/labs-auth/.npmrc
# depends_on:
# - Test Pipeline
trigger:
branch:
- main
event:
- push
# - tag
---
kind: pipeline
type: docker
name: Deploy Pipeline
workspace:
path: /drone/grow
steps:
- name: Deploy Container
image: docker
privileged: true
environment:
CONTAINER_PREFIX: staging
HOST: area51.mifi.dev
ROUTE_PREFIX: /auth
PORT: 9001
commands:
- docker compose -f docker-compose.staging.yml pull
- docker compose -f docker-compose.staging.yml build --no-cache
- docker compose -f docker-compose.staging.yml rm --stop
- docker compose -f docker-compose.staging.yml up --wait
volumes:
- name: env-secrets
path: /drone/grow/staging.env
- name: dockersock
path: /var/run/docker.sock
- name: dockerconfig
path: /drone/grow/.docker/config.json
- name: Send Status Notifications
image: plugins/webhook
privileged: true
settings:
urls: https://lab.mifi.dev/hooks/ccw34hdf7tgbjmzp96nptn938r
content_type: application/json
template: |
{
"icon_url":"https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/120/apple/198/freezing-face_1f976.png",
"text": "[{{ repo.name }} - Build # {{ build.number }}] Deploy {{ build.status }} {{#success build.status}}:tada:{{else}}:poop:{{/success}}",
"username":"DroneBot"
}
when:
status:
- success
- failure
volumes:
- name: dockerconfig
host:
path: /volume1/docker/dockerconfig.json
- name: dockersock
host:
path: /var/run/docker.sock
- name: env-secrets
host:
path: /volume1/docker/beethoven/labs-auth/staging.env
# depends_on:
# - Test Pipeline
trigger:
branch:
- main
event:
- push
# - tag