diff --git a/.github/workflows/deploy-main.yml b/.github/workflows/deploy-main.yml new file mode 100644 index 0000000..4c796f4 --- /dev/null +++ b/.github/workflows/deploy-main.yml @@ -0,0 +1,58 @@ +name: Deploy + +on: + push: + branches: [main] +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: shivammathur/setup-php@v2 + with: + php-version: '8.1' + - uses: actions/checkout@v2 + - uses: actions/setup-node@v3 + with: + node-version: 16 + - uses: mirromutth/mysql-action@v1.1 + with: + mysql database: laravel-test-db + mysql user: laravel_test_user + mysql password: example + - name: Copy .env + run: cp .env.example .env + - name: Install composer Dependencies + run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist + - name: Install node dependencies + run: npm ci + - name: Setup Project + run: | + php artisan config:clear + php artisan cache:clear + php artisan key:generate + npm run build + - name: Directory Permissions + run: chmod 755 -R storage bootstrap/cache +# - name: Run Unit tests +# env: +# APP_ENV: testing +# DB_CONNECTION: mysql +# DB_USERNAME: laravel_test_user +# DB_PASSWORD: super_secret +# DB_DATABASE: laravel_test_db +# run: php artisan test + - name: Deploy to Server + if: ${{ success() }} + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.SSH_HOST }} + port: ${{ secrets.SSH_PORT }} + username: ${{ secrets.SSH_USERNAME }} + key: ${{ secrets.SSH_KEY }} + script_stop: true + script: | + cd domains + cd lcommerce.net + git pull + composer install + php artisan migrate --force