# 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 P - ${REGISTRY_PASSWORD}" - 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 ssh-agent-key: from_secret: reg_token # username: # from_secret: registry_username # password: # from_secret: registry_password secrets: [registry_username, registry_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