| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- version: "3"
- vars:
- APP_IMAGE: application
- CLI_IMAGE: cli
- NGINX_IMAGE: nginx
- APP_UID: 1000
- APP_GID: 1000
- USER_ENV: ={{.APP_UID}} APP_GID={{.APP_GID}}
- BUILD_ARG: "--build-arg APP_UID={{.APP_UID}} --build-arg APP_GID={{.APP_GID}} --build-arg $GITHUB_PROJECT_NAME=$GITHUB_PROJECT_NAME"
- tasks:
- docker-compose:
- internal: true
- cmd: APP_UID{{.USER_ENV}} docker compose {{.COMPOSE}}
- docker-run:
- aliases: [ run ]
- silent: true
- cmds:
- - task: docker-compose
- vars:
- COMPOSE: run --rm --no-deps development {{.COMMAND}}
- docker-pull:
- desc: Загрузить образы
- aliases: [ pull ]
- cmds:
- - task: docker-compose
- vars:
- COMPOSE: pull
- docker-build:
- desc: Собрать образы
- aliases: [ build ]
- cmds:
- - task: docker-compose
- vars:
- COMPOSE: build {{.BUILD_ARG}}
- docker-up:
- desc: Запустить контейнеры
- aliases: [ up ]
- cmds:
- - task: docker-compose
- vars:
- COMPOSE: up -d
- docker-down:
- desc: Остановить контейнеры
- aliases: [ down ]
- cmds:
- - task: docker-compose
- vars:
- COMPOSE: down
- docker-restart:
- desc: Перезапустить все контейнеры
- aliases: [ restart ]
- cmds:
- - task: down
- - task: up
- docker-clean:
- desc: Удалить volumes и кэш laravel
- aliases: [ clean ]
- cmds:
- - task: optimize-clear
- - cmd: APP_UID{{.USER_ENV}} docker compose down -v --remove-orphans
- docker-ps:
- desc: Список запущенных контейнеров
- aliases: [ ps ]
- cmds:
- - task: docker-compose
- vars:
- COMPOSE: ps
- docker-logs:
- desc: Просмотр лога контейнеров
- aliases: [ logs ]
- cmds:
- - task: docker-compose
- vars:
- COMPOSE: logs
- status:
- desc: Статус приложения
- internal: true
- cmds:
- - echo "Application is ready!"
- - echo "Backend http://laravel.localhost"
- - echo "Traefik http://127.0.0.1:8888"
- silent: true
- preconditions:
- - sh: APP_UID{{.USER_ENV}} docker compose exec application php artisan octane:status
- msg: 'Application container or octane is not running'
- build-production-*:
- desc: Build production
- vars:
- TAG: '{{index .MATCH 0}}'
- cmds:
- - docker build {{.BUILD_ARG}} --platform linux/x86_64 --pull -f .docker/php/Dockerfile --target php -t ghcr.io/$GITHUB_PROJECT_NAME/{{.APP_IMAGE}}:{{.TAG}} .
- - docker build {{.BUILD_ARG}} --platform linux/x86_64 --pull -f .docker/php/Dockerfile --target cli -t ghcr.io/$GITHUB_PROJECT_NAME/{{.CLI_IMAGE}}:{{.TAG}} .
- - docker build {{.BUILD_ARG}} --platform linux/x86_64 --pull -f .docker/nginx/Dockerfile -t ghcr.io/$GITHUB_PROJECT_NAME/{{.NGINX_IMAGE}}:{{.TAG}} .
- push-production-*:
- desc: Push production
- vars:
- TAG: '{{index .MATCH 0}}'
- cmds:
- - docker push ghcr.io/$GITHUB_PROJECT_NAME/{{.APP_IMAGE}}:{{.TAG}}
- - docker push ghcr.io/$GITHUB_PROJECT_NAME/{{.CLI_IMAGE}}:{{.TAG}}
- - docker push ghcr.io/$GITHUB_PROJECT_NAME/{{.NGINX_IMAGE}}:{{.TAG}}
- build-and-push-production-*:
- desc: Build & Push production
- vars:
- TAG: '{{index .MATCH 0}}'
- cmds:
- - task: build-production-{{.TAG}}
- - task: push-production-{{.TAG}}
|