kind: pipeline type: docker name: default workspace: path: /drone/nami steps: - name: submodules image: alpine/git commands: - git submodule update --init --recursive - name: composer_dev image: composer:2.2.7 commands: - composer install --ignore-platform-reqs --dev - name: mysql_healthcheck image: mysql:oracle commands: - while ! mysqladmin ping -h db -u db -pdb --silent; do sleep 1; done - name: node image: node:17.9.0-slim commands: - npm ci && npm run img && npm run prod && rm -R node_modules - name: tests image: zoomyboy/adrema-base:latest commands: - echo 'memory_limit = 2G' >> /usr/local/etc/php/conf.d/99-custom-php-memlimit.ini; - php artisan migrate - php artisan test - rm -f .env - vendor/bin/phpstan analyse environment: APP_NAME: Scoutrobot APP_KEY: from_secret: app_key APP_ENV: local APP_DEBUG: true APP_URL: http://scoutrobot.test APP_MODE: stamm LOG_CHANNEL: stack DB_CONNECTION: mysql DB_HOST: db REDIS_HOST: redis DB_PORT: 3306 DB_DATABASE: db DB_USERNAME: db DB_PASSWORD: db BROADCAST_DRIVER: log CACHE_DRIVER: file QUEUE_CONNECTION: sync SESSION_DRIVER: file SESSION_LIFETIME: 120 MAIL_FROM_NAME: '${APP_NAME}' PDFLATEX_BIN: /usr/bin/pdflatex XELATEX_BIN: /usr/bin/xelatex - name: docker_app_push image: plugins/docker settings: dockerfile: ./.docker/php.Dockerfile repo: zoomyboy/adrema-app username: zoomyboy password: from_secret: docker_hub_token tags: - latest - ${DRONE_TAG} pull_image: true when: event: tag - name: docker_webservice_push image: plugins/docker settings: dockerfile: ./.docker/nginx.Dockerfile repo: zoomyboy/adrema-webservice username: zoomyboy password: from_secret: docker_hub_token tags: - latest - ${DRONE_TAG} pull_image: true when: event: tag - name: deploy image: php:8.1.6 environment: SSH_KEY: from_secret: deploy_private_key commands: - apt-get update > /dev/null - apt-get install -y openssh-client - mkdir $HOME/.ssh - echo "UserKnownHostsFile=/dev/null" >> $HOME/.ssh/config - echo "StrictHostKeyChecking=no" >> $HOME/.ssh/config - echo "$SSH_KEY" > $HOME/.ssh/id_rsa - chmod 600 $HOME/.ssh/id_rsa - ./vendor/bin/envoy run deploy when: event: tag - name: github push image: alpine/git environment: SSH_KEY: from_secret: github_private_key commands: - mkdir $HOME/.ssh - git config core.sshCommand "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" - echo "$SSH_KEY" > $HOME/.ssh/id_rsa - chmod 600 $HOME/.ssh/id_rsa - git remote add gh git@github.com:zoomyboy/adrema.git - git push -f gh HEAD:master when: branch: master event: push - name: composer_no_dev image: composer:2.2.7 commands: - composer install --ignore-platform-reqs --no-dev - name: compress image: php:8.1.6 commands: - apt-get update -yqq - apt-get install -yqq zip tar - cd .. && tar -cvzf nami.tar.gz ./nami && mv nami.tar.gz nami/ && cd nami when: event: tag - name: gitea_release image: plugins/gitea-release settings: api_key: from_secret: gitea_api_key base_url: https://git.zoomyboy.de files: ./nami.tar.gz when: event: tag services: - name: db image: mariadb:10.6.5 environment: MARIADB_DATABASE: db MARIADB_USER: db MARIADB_PASSWORD: db MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: yes - name: redis image: redis trigger: event: - push - tag