Melaksanakan dengan GitHub Actions
Automatikkan langkah binaan, ujian dan pelaksanaan SSH dalam aliran kerja GitHub Actions.
Melaksanakan dengan GitHub Actions ialah pelajaran PHP Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran PHP Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus PHP Academy merangkumi sejumlah 4 pelajaran.
Apakah GitHub Actions?
GitHub Actions ialah platform CI/CD terbina dalam GitHub. Aliran kerja yang ditakrifkan dalam .github/workflows/*.yml berjalan secara automatik apabila berlaku peristiwa penghantaran, permintaan gabungan atau jadual.
Struktur Asas Aliran Kerja
Aliran kerja terdiri daripada satu atau lebih tugas, dan setiap tugas mempunyai langkah.
# .github/workflows/deploy.yml
name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: "8.3"
- name: Install dependencies
run: composer install --no-dev --optimize-autoloader
- name: Run tests
run: vendor/bin/phpunitLangkah Penerapan melalui SSH
Laksanakan penerapan ke pelayan melalui SSH selepas semua ujian lulus.
- name: Deploy to server
uses: appleboy/ssh-action@v1
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
cd /srv/myapp
git pull origin main
composer install --no-dev --optimize-autoloader
php artisan migrate --force
php artisan config:cache
php artisan route:cache
sudo systemctl reload php8.3-fpmRahsia GitHub
Simpan nilai sensitif (kunci SSH, token API, kata laluan pangkalan data) sebagai rahsia repositori yang disulitkan dalam Tetapan → Rahsia dan Pemboleh Ubah.
Menyimpan Kebergantungan dalam Cache
Simpan pakej Composer dalam cache antara pelaksanaan untuk mempercepatkan aliran kerja.
- name: Cache Composer packages
uses: actions/cache@v4
with:
path: vendor
key: ${{ runner.os }}-composer-${{ hashFiles("composer.lock") }}Menjalankan Ujian
Sertakan bekas perkhidmatan MySQL atau PostgreSQL untuk ujian integrasi.
services:
mysql:
image: mysql:8
env:
MYSQL_DATABASE: test
MYSQL_ROOT_PASSWORD: secret
ports: [3306:3306]Pemboleh Ubah Persekitaran dalam Actions
Hantar rahsia sebagai pemboleh ubah persekitaran kepada langkah aliran kerja.
- name: Run tests
env:
DB_HOST: 127.0.0.1
DB_DATABASE: test
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
run: vendor/bin/phpunitSyarat Kualiti Kod
Sekat penerapan jika pemeriksaan kualiti kod gagal.
- name: PHPStan static analysis
run: vendor/bin/phpstan analyse src --level=6
- name: PHP_CodeSniffer
run: vendor/bin/phpcs src --standard=PSR12Pengujian Matriks
Uji dengan beberapa versi PHP secara serentak.
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
php: ["8.2", "8.3"]
steps:
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}Strategi Penerapan
Pendekatan biasa: git pull secara langsung (mudah), rsync (penyegerakan fail pantas), biru-hijau (masa henti sifar), Deployer PHP (masa henti sifar secara automatik). Pilih berdasarkan toleransi masa henti.
Ringkasan
Takrifkan aliran kerja dalam .github/workflows/*.yml. Jalankan ujian pada setiap penghantaran dan lakukan penerapan apabila gabungan ke cawangan utama berlaku. Simpan kebergantungan dalam cache, simpan rahsia dalam GitHub Secrets dan tambahkan syarat kualiti sebelum penerapan.
Semakan Ringkas
Di manakah nilai sensitif seperti kunci SSH disimpan untuk GitHub Actions?
Pelajari PHP dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 49
- Pelajaran
- 195
Soalan Lazim
Adakah pelajaran “Melaksanakan dengan GitHub Actions” percuma?
Ya — teks penuh “Melaksanakan dengan GitHub Actions” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus PHP Academy, tingkat taraf kepada CoddyKit PRO. Kursus PHP Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Melaksanakan dengan GitHub Actions”?
Automatikkan langkah binaan, ujian dan pelaksanaan SSH dalam aliran kerja GitHub Actions. Anda berlatih PHP Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan PHP Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran PHP Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Melaksanakan dengan GitHub Actions” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran PHP Academy ini?
Ya. Setiap pelajaran PHP Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Konfigurasi Nginx dan PHP-FPM
- Pemboleh Ubah Persekitaran dan Fail .env
- Melaksanakan dengan GitHub Actions
- Mendockerkan Aplikasi PHP