Наконец, после некоторых исследований самого gitlab и испытаний, я понял это.Я использовал gitlab-runner, который выполняет задания в .gitlab-ci.yml
и написал этот файл yml для самого начала:
before_script:
- echo "Before script"
- cd /var/www/html/project
building:
stage: build
script:
- git pull origin develop
- composer install
- cp .env.example .env
- php artisan key:generate
- php artisan migrate --seed
- sudo chown -R my-user:www-data /var/www/html/project/
- find /var/www/html/project -type f -exec chmod 664 {} \;
- find /var/www/html/project -type d -exec chmod 775 {} \;
- chgrp -R www-data storage bootstrap/cache
- chmod -R ug+rwx storage bootstrap/cache
testing:
stage: test
script:
- php ./vendor/bin/phpunit
deploying:
stage: deploy
script:
- echo "Deployed"
Если у вас есть лучшее решение, вы можете написать здесь.