Здравствуйте.
Пдскажиет как правильно разворачивать проект ларавел на проде через докер, сейчас конкретно хочу узнать на счет миграций, где как и когда?
вот мой compose для прода
все image это локальные пока что сброки, которые я с сбилдил, там код и все зависимости приложения
version: "3.9"
services:
nginx:
container_name: wb_nginx
image: "wb-stage-nginx:develop-1"
ports:
- "8080:80"
depends_on:
- mysql
- api-php-fpm
api-php-cli:
container_name: wb_php_cli
image: "wb-stage-php-cli:develop-1"
environment:
APP_ENV: production
APP_DEBUG: false
DB_HOST: ${DB_HOST}
DB_PORT: ${DB_PORT}
DB_DATABASE: ${DB_DATABASE}
DB_USERNAME: ${DB_USERNAME}
DB_PASSWORD: ${DB_PASSWORD}
depends_on:
- mysql
pi-php-fpm:
container_name: wb_php_fpm
image: "wb-stage-php-fpm:develop-1"
environment:
APP_ENV: production
APP_DEBUG: false
DB_HOST: ${DB_HOST}
DB_PORT: ${DB_PORT}
DB_DATABASE: ${DB_DATABASE}
DB_USERNAME: ${DB_USERNAME}
DB_PASSWORD: ${DB_PASSWORD}
depends_on:
- mysql
mysql:
container_name: wb_mysql
image: "mysql/mysql-server:8.0"
command: --default-authentication-plugin=mysql_native_password
environment:
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MYSQL_USER: ${DB_DATABASE}
MYSQL_PASSWORD: ${DB_PASSWORD}
volumes:
- mysql8stage:/var/lib/mysql
volumes:
mysql8stage:
name: wb_mysql
driver: local
а на прод буду доставлять примерно так
deploy:
ssh ${HOST} -p ${PORT} 'rm -rf site_${BUILD_NUMBER}'
ssh ${HOST} -p ${PORT} 'mkdir site_${BUILD_NUMBER}'
scp -P ${PORT} docker-compose-stage.yml ${HOST}:site_${BUILD_NUMBER}/docker-compose.yml
ssh ${HOST} -p ${PORT} 'cd site_${BUILD_NUMBER} && echo "REGISTRY=${REGISTRY}" >> .env'
ssh ${HOST} -p ${PORT} 'cd site_${BUILD_NUMBER} && echo "IMAGE_TAG=${IMAGE_TAG}" >> .env'
ssh ${HOST} -p ${PORT} 'cd site_${BUILD_NUMBER} && docker-compose pull'
ssh ${HOST} -p ${PORT} 'cd site_${BUILD_NUMBER} && docker-compose up --build --remove-orphans -d'
ssh ${HOST} -p ${PORT} 'rm -f site'
ssh ${HOST} -p ${PORT} 'ln -sr site_${BUILD_NUMBER} site'
где мне по уму накатывать миграции, во время деплоя, после docker-compose up --build --remove-orphans -d, подключаться с php_cli и там производить artisan migrate, те почти руками через makefile алиас или все же куда-то можно это "зашить" и чтобы само запускалось? или ENTRYPOINT какой-нибудь с кастомным скрпитом запуска?