update droneyml
Some checks reported errors
continuous-integration/drone/push Build encountered an error

This commit is contained in:
ExtraNetwork
2026-05-13 11:58:49 +03:00
parent b7d29cc77f
commit c423d088d9
3 changed files with 48 additions and 102 deletions

View File

@@ -1,99 +1,24 @@
kind: pipeline
type: docker
name: api-extranetwork
# Sadece main branch'te tetiklenir
trigger:
branch:
- main
event:
- push
steps:
# -------------------------------------------------------
# 1. Bağımlılıkları kur
# -------------------------------------------------------
- name: composer-install
image: composer:2.2
services:
app:
build:
context: .
dockerfile: Dockerfile
container_name: extranetwork_api_app
restart: unless-stopped
working_dir: /var/www/html
env_file:
- .env
volumes:
- name: composer-cache
path: /root/.composer/cache
commands:
- composer config platform.php 7.4.0
- composer install --optimize-autoloader --no-interaction --prefer-dist --ignore-platform-req=ext-gd
- .:/var/www/html
- /opt/docker/storage/api.extranetwork.com/uploads:/home/uploads
ports:
- "127.0.0.1:8073:80"
networks:
- backend
- proxy
# -------------------------------------------------------
# 2. PHP Unit testlerini çalıştır
# -------------------------------------------------------
- name: tests
image: php:7.4-cli
commands:
- apt-get update -qq
- apt-get install -y --no-install-recommends libzip-dev libpng-dev libxml2-dev libonig-dev > /dev/null 2>&1
- docker-php-ext-install pdo pdo_mysql zip mbstring > /dev/null 2>&1
- cp .env.example .env
- APP_KEY=$(php -r "echo 'base64:'.base64_encode(random_bytes(32));") && sed -i "s|APP_KEY=.*|APP_KEY=${APP_KEY}|" .env
- mkdir -p storage/framework/views storage/framework/cache storage/framework/sessions storage/logs
- vendor/bin/phpunit --no-coverage --stop-on-failure
environment:
DB_CONNECTION: sqlite
DB_DATABASE: ":memory:"
depends_on:
- composer-install
# -------------------------------------------------------
# 3. Docker image build & Gitea Container Registry'e push
# -------------------------------------------------------
- name: docker-build-push
image: plugins/docker
settings:
registry: git.extranetwork.net
repo: git.extranetwork.net/gitea/api-extranetwork
username: gitea
password: 9359f6c8267582bf6c8197d62a6374150c63cc6a
tags:
- latest
- ${DRONE_COMMIT_SHA:0:8}
insecure: true
depends_on:
- tests
when:
branch:
- main
event:
- push
# -------------------------------------------------------
# 4. SSH ile sunucuya deploy et
# -------------------------------------------------------
- name: deploy
image: appleboy/drone-ssh
settings:
host: 178.105.136.25
username: deploy
key:
from_secret: DEPLOY_SSH_KEY
port: 22
script:
- cd /opt/api.extranetwork.com
- docker compose pull
- docker compose up -d --remove-orphans
- docker compose exec -T app php artisan migrate --force
- docker compose exec -T app php artisan config:cache
- docker compose exec -T app php artisan route:cache
- docker compose exec -T app php artisan view:cache
- echo "Deploy tamamlandı - $(date)"
depends_on:
- docker-build-push
when:
branch:
- main
event:
- push
# -------------------------------------------------------
# Uçucu volume (composer cache pipeline içinde paylaşılır)
# -------------------------------------------------------
volumes:
- name: composer-cache
temp: {}
networks:
backend:
external: true
proxy:
external: true

2
.gitignore vendored
View File

@@ -5,6 +5,8 @@ Homestead.json
Homestead.yaml
.env
composer.lock
/Dockerfile
/docker-compose.yml
# Büyük SQL dosyaları
*.sql

View File

@@ -43,11 +43,30 @@ RUN a2enmod rewrite
# Apache VirtualHost ayarı
COPY vhost.conf /etc/apache2/sites-available/000-default.conf
# Upload klasörü
RUN mkdir -p /home/uploads \
&& chown -R www-data:www-data /home/uploads \
&& chmod -R 775 /home/uploads
WORKDIR /var/www/html
# Laravel/Lumen gerekli klasörleri
RUN mkdir -p \
/var/www/html/storage/logs \
/var/www/html/storage/framework/cache \
/var/www/html/storage/framework/sessions \
/var/www/html/storage/framework/views \
/var/www/html/bootstrap/cache \
/home/uploads \
&& chown -R www-data:www-data \
/var/www/html/storage \
/var/www/html/bootstrap/cache \
/home/uploads \
&& chmod -R 775 \
/var/www/html/storage \
/var/www/html/bootstrap/cache \
/home/uploads
# Runtime permission düzeltme scripti
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["apache2-foreground"]