update droneyml
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Some checks reported errors
continuous-integration/drone/push Build encountered an error
This commit is contained in:
119
.drone.yml
119
.drone.yml
@@ -1,99 +1,24 @@
|
|||||||
kind: pipeline
|
services:
|
||||||
type: docker
|
app:
|
||||||
name: api-extranetwork
|
build:
|
||||||
|
context: .
|
||||||
# Sadece main branch'te tetiklenir
|
dockerfile: Dockerfile
|
||||||
trigger:
|
container_name: extranetwork_api_app
|
||||||
branch:
|
restart: unless-stopped
|
||||||
- main
|
working_dir: /var/www/html
|
||||||
event:
|
env_file:
|
||||||
- push
|
- .env
|
||||||
|
|
||||||
steps:
|
|
||||||
# -------------------------------------------------------
|
|
||||||
# 1. Bağımlılıkları kur
|
|
||||||
# -------------------------------------------------------
|
|
||||||
- name: composer-install
|
|
||||||
image: composer:2.2
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: composer-cache
|
- .:/var/www/html
|
||||||
path: /root/.composer/cache
|
- /opt/docker/storage/api.extranetwork.com/uploads:/home/uploads
|
||||||
commands:
|
ports:
|
||||||
- composer config platform.php 7.4.0
|
- "127.0.0.1:8073:80"
|
||||||
- composer install --optimize-autoloader --no-interaction --prefer-dist --ignore-platform-req=ext-gd
|
networks:
|
||||||
|
- backend
|
||||||
|
- proxy
|
||||||
|
|
||||||
# -------------------------------------------------------
|
networks:
|
||||||
# 2. PHP Unit testlerini çalıştır
|
backend:
|
||||||
# -------------------------------------------------------
|
external: true
|
||||||
- name: tests
|
proxy:
|
||||||
image: php:7.4-cli
|
external: true
|
||||||
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: {}
|
|
||||||
|
|||||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -5,6 +5,8 @@ Homestead.json
|
|||||||
Homestead.yaml
|
Homestead.yaml
|
||||||
.env
|
.env
|
||||||
composer.lock
|
composer.lock
|
||||||
|
/Dockerfile
|
||||||
|
/docker-compose.yml
|
||||||
|
|
||||||
# Büyük SQL dosyaları
|
# Büyük SQL dosyaları
|
||||||
*.sql
|
*.sql
|
||||||
|
|||||||
29
Dockerfile
29
Dockerfile
@@ -43,11 +43,30 @@ RUN a2enmod rewrite
|
|||||||
# Apache VirtualHost ayarı
|
# Apache VirtualHost ayarı
|
||||||
COPY vhost.conf /etc/apache2/sites-available/000-default.conf
|
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
|
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"]
|
CMD ["apache2-foreground"]
|
||||||
|
|||||||
Reference in New Issue
Block a user