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
mifi 6e19a6217d
All checks were successful
continuous-integration/drone/push Build is passing
Go!
2023-05-08 19:08:55 -04:00

248 lines
6.5 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: node:20-alpine
# failure: ignore
# commands:
# - yarn publish -t ${DRONE_TAG}
# volumes:
# - name: npmrc
# path: /drone/grow/.npmrc
# - 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
failure: ignore
commands:
- 'echo U - ${REGISTRY_USERNAME:-none} P - ${REGISTRY_PASSWORD:-none}'
- docker login -u $REGISTRY_USERNAME -p $REGISTRY_PASSWORD git.mifi.dev
- 'docker build -t git.mifi.dev/mifi/mifi/auth:latest -t git.mifi.dev/mifi/mifi/auth:${DRONE_TAG:-latest} .'
- docker push git.mifi.dev/mifi/mifi/auth:latest
secrets: [registry_username, registry_password]
volumes:
- name: dockersock
path: /var/run/docker.sock
- name: dockerconfig
path: /drone/grow/.docker/config.json
- name: Publish Image (plugin)
image: plugins/docker
settings:
auto_tag: true
repo: git.mifi.dev/mifi/mifi/auth
registry: git.mifi.dev
debug: true
username:
from_secret: registry_username
password:
from_secret: registry_password
commands:
- 'echo U - $USERNAME P - $PASSWORD'
- 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