# kind: pipeline # type: docker # name: Test Pipeline # workspace: # path: /drone/looking # steps: # - name: yarn install # image: node:20-bullseye-slim # environment: # YARN_VERSION: 3.5.0 # commands: # - yarn set version stable # - yarn install # volumes: # - name: yarnrc # path: /drone/auth/.yarnrc.yml # - 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:production # - 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 # volumes: # - name: yarnrc # host: # path: /volume1/docker/.yarnrc.yml # trigger: # branch: # - master # - develop # event: # - pull_request # --- # kind: pipeline # type: docker # name: Publish Pipeline # workspace: # path: /drone/auth # steps: # - name: Build Package # image: node:20-bullseye-slim # environment: # YARN_VERSION: 3.5.0 # commands: # - yarn set version stable # - yarn install # - yarn build:package # volumes: # - name: yarnrc # path: /drone/auth/.yarnrc.yml # - name: Publish NPM # image: node:20-bullseye-slim # commands: # - yarn npm publish # volumes: # - name: npmrc # path: /drone/auth/.npmrc # - name: yarnrc # path: /drone/auth/.yarnrc.yml # - 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 # --- kind: pipeline type: docker name: Publish Pipeline workspace: path: /drone/looking steps: - name: Publish Image image: plugins/docker settings: auto_tag: true repo: git.mifi.dev/mifi/Pfosi-Looking-API registry: git.mifi.dev build_args: - MONGO_ENTRY_FILE=latest - MONGO_VERSION=latest - NPM_TOKEN: from_secret: reg_token ssh-agent-key: from_secret: reg_token username: password: from_secret: reg_token secrets: [reg_token] - 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-pfosi-looking-api/.npmrc # - name: yarnrc # host: # path: /volume1/docker/.yarnrc.yml # depends_on: # - Test Pipeline trigger: branch: - master - develop event: - push # trigger: # event: # - tag # --- # kind: pipeline # type: docker # name: Staging Deploy Pipeline # workspace: # path: /drone/auth # 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-build.yml build --pull --no-cache # - docker compose -f docker-compose.staging-build.yml up --remove-orphans --force-recreate --wait # volumes: # - name: env-secrets # path: /drone/auth/staging.env # - name: dockersock # path: /var/run/docker.sock # - name: dockerconfig # path: /drone/auth/.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 }}] Staging 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: # - develop # event: # - push --- kind: pipeline type: docker name: Production Deploy Pipeline workspace: path: /drone/looking clone: disable: true steps: - name: Deploy Container image: plugins/webhook settings: # urls: https://portainer.mifi.dev/api/stacks/webhooks/968d2244-2548-4f0b-8c18-bbc9bc35305d - 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 }}] Production Deploy {{ build.status }} {{#success build.status}}:tada:{{else}}:poop:{{/success}}", "username":"DroneBot" } when: status: - success - failure depends_on: - Publish Pipeline trigger: event: - promote target: - production # kind: pipeline # type: docker # name: Deploy to miCloud # steps: # - name: deploy-dev # image: node:latest # commands: # - npm install -g forever # - npm install # - forever start bin/www # trigger: # branch: # - master # event: # - push