Rumah > Artikel > pembangunan bahagian belakang > github CI/CD Pipeline dengan Laravel
Ini adalah siaran pertama saya, jadi anda mungkin tidak dapat menyelesaikan banyak perkara, tetapi saya akan cuba menyatakannya dengan tepat seperti yang saya lakukan atau lakukan, InshaAllah.
Secara amnya tidak mendapat apa-apa jawatan yang baik dalam Bengali Saya fikir bagaimana saya menggunakan tapak laravel dalam cPanel menggunakan CI/CD dan melakukannya sebagai siaran, ia akan berguna untuk saya nanti dan ramai orang juga boleh memberi manfaat kepada saudara saya. Jadi mari kita beralih kepada tugas utama.
Pada mulanya kita perlu log masuk ke cPanel, dan pergi ke menu Akaun FTP. Selepas ke sana kita perlu membuka akaun FTP. Dan jika akaun berjaya dibuat di sana, ia akan kelihatan seperti gambar di bawah.
Selepas akaun dibuat, simpan nama pengguna, pelayan, port, ia akan berguna kemudian
Selepas itu anda mencipta pangkalan data, anda mesti tahu ini jika anda seorang pembangun, jadi ia tidak ditunjukkan.
Dan lakukan seperti imej di bawah.
Selepas itu anda boleh pergi ke menu Action, dan anda akan melihat antara muka seperti di bawah, dari sini klik pada set up a workflow sendiri, selepas itu ia akan memberitahu anda untuk menulis Logic dalam yml. Salin dan tampal fail berikut, berikan nama pangkalan data anda, nama pengguna, kata laluan
`nama: Laravel CI/CD
pada:
tolak:
cawangan: [ induk ]
tarik_permintaan:
cawangan: [ induk ]
web-deploy:
nama: Menggunakan
runs-on: ubuntu-latest
services: mysql: image: mysql:5.7 ports: - 3306:3306 env: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: dbname MYSQL_USER: username MYSQL_PASSWORD: password options: '--health-cmd="mysqladmin ping --silent" --health-interval=10s --health-timeout=5s --health-retries=3' steps: - uses: actions/checkout@v2.3.2 - name: Setup PHP uses: shivammathur/setup-php@15c43e89cdef867065b0213be354c2841860869e with: php-version: '8.1.21' - name: Copy .env run: php -r "file_exists('.env') || copy('.env.example', '.env');" - name: Update .env for CI environment run: | sed -i 's/^DB_CONNECTION=.*/DB_CONNECTION=mysql/' .env sed -i 's/^DB_HOST=.*/DB_HOST=127.0.0.1/' .env sed -i 's/^DB_PORT=.*/DB_PORT=3306/' .env sed -i 's/^DB_DATABASE=.*/DB_DATABASE=dbname/' .env sed -i 's/^DB_USERNAME=.*/DB_USERNAME=username/' .env sed -i 's/^DB_PASSWORD=.*/DB_PASSWORD=password/' .env - name: Install Dependencies run: composer install --ignore-platform-reqs - name: Generate key run: php artisan key:generate - name: Wait for MySQL to be ready run: | until mysqladmin ping --host=127.0.0.1 --user=username --password=password --silent; do echo "Waiting for database connection..." sleep 5 done - name: Test Database Connection run: php -r "new PDO('mysql:host=127.0.0.1;dbname=dbname', 'username', 'password');" - name: Rollback Migrations and Seed run: php artisan migrate:fresh --seed --verbose - name: Directory Permissions run: chmod -R 775 storage - name: ? Sync files uses: SamKirkland/FTP-Deploy-Action@4.0.0 with: server: ${{ secrets.FTP_SERVER }} username: ${{ secrets.FTP_USERNAME }} password: ${{ secrets.FTP_PASSWORD }} server-dir: / local-dir: ./ exclude: | vendor/* node_modules/*`
Selepas itu, klik pada butang Komit perubahan, kemudian jika terdapat sebarang kod dalam cawangan induk dalam Git anda, maka ia akan disimpan dalam folder public_html cpanel anda. Dan secara tempatan anda perlu dikemas kini dengan kolam dari cawangan induk. Kali pertama akan mengambil banyak masa untuk memuat naik, tetapi dari kali seterusnya ia tidak akan mengambil banyak masa. Sebaik sahaja kod baharu ditolak ke cawangan induk, ia akan secara automatik pergi ke pelayan tanpa sebarang masalah, ia mengambil masa yang lebih singkat dan meningkatkan kerja.
Saya harap awak faham. Jika terdapat sebarang kesilapan, sila beritahu saya dalam komen
Dan jika anda suka, sila komen
Terima kasih.
Atas ialah kandungan terperinci github CI/CD Pipeline dengan Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!