Rumah >alat pembangunan >git >Penjelasan terperinci tentang langkah-langkah untuk menggunakan projek Github ke pelayan

Penjelasan terperinci tentang langkah-langkah untuk menggunakan projek Github ke pelayan

PHPz
PHPzasal
2023-03-27 10:53:325600semak imbas

Github kini merupakan komuniti sumber terbuka terbesar di dunia Ramai pengaturcara akan mengehoskan kod mereka di Github untuk memanfaatkan fungsi kawalan versi dan kerjasamanya. Walau bagaimanapun, projek pada Github hanyalah kod, dan mengerahkannya ke pelayan untuk dijalankan memerlukan beberapa kerja tambahan. Artikel ini akan memperkenalkan anda kepada langkah-langkah khusus.

1 Log masuk ke pelayan

Gunakan SSH untuk menyambung dari jauh, masukkan arahan:

ssh root@your_server_ip

2. Pasang Perisian yang diperlukan

Pasang Git dan Node.js pada pelayan. Mengambil sistem Ubuntu sebagai contoh, laksanakan arahan berikut:

sudo apt-get update
sudo apt-get install git
sudo apt-get install nodejs

3 Cipta repositori Git pada pelayan

Buat direktori kosong pada pelayan. , dan Mulakan repositori Git di dalamnya dan laksanakan arahan berikut:

mkdir myapp
cd myapp
git init --bare

4. Sediakan Git Hooks

Tambah cangkuk pasca terima dalam Git repositori untuk aplikasi penggunaan automatik, laksanakan arahan berikut:

cd hooks
touch post-receive
sudo chmod +x post-receive
nano post-receive

Masukkan yang berikut dalam editor teks yang dibuka:

#!/bin/bash
git --work-tree=/var/www/html/myapp --git-dir=/root/myapp.git checkout -f
cd /var/www/html/myapp
sudo npm install

Skrip akan menyemak kod secara automatik ke /var /www/ html/myapp, dan laksanakan arahan pemasangan npm untuk memasang kebergantungan projek.

5. Konfigurasikan Webhooks pada Github

Log masuk ke Github, klik pilihan Webhooks dalam halaman Tetapan projek, dan kemudian klik butang Tambah webhook. Masukkan alamat IP pelayan dan laluan cangkuk pasca terima dalam URL Muatan, contohnya: http://your_server_ip:8000/hooks/post-receive. Pilih aplikasi/json dalam Jenis kandungan dan klik Tambah webhook.

6. Tambahkan alamat pelayan dalam kod tempatan

Ubah suai fail package.json dalam kod tempatan dan tambah kandungan berikut:

{
  "scripts": {
    "start": "node app.js",
    "deploy": "git push deploy master"
  },
  "config": {
    "deploy": {
      "production": {
        "user": "root",
        "host": "your_server_ip",
        "ref": "origin/master",
        "repo": "ssh://git@your_server_ip:/root/myapp.git",
        "path": "/var/www/html/myapp",
        "ssh_options": ["StrictHostKeyChecking=no", "PasswordAuthentication=no"],
        "post-deploy": "npm install && pm2 restart app"
      }
    }
  }
}

Antaranya, skrip deploy akan menolak kod ke gudang myapp.git pada pelayan beberapa item konfigurasi ditakrifkan dalam config/deploy/production, termasuk alamat IP pelayan, laluan projek, laluan mata kail, dsb.

7. Laksanakan penggunaan kod

Laksanakan arahan berikut dalam direktori kod tempatan:

npm run deploy production

Arahan ini akan menolak kod ke pelayan , cetuskan cangkuk pasca terima dan gunakan kod secara automatik ke direktori /var/www/html/myapp.

8 Mulakan aplikasi

Pergi ke direktori /var/www/html/myapp dan laksanakan arahan berikut untuk memulakan aplikasi:

npm start

Aplikasi kini sepatutnya berjalan pada pelayan! Jika aplikasi gagal dimulakan, anda perlu menyemak sama ada kebergantungan dipasang dengan betul dan bahawa aplikasi dikonfigurasikan dengan betul.

Ringkasan:

Di atas ialah langkah-langkah untuk menggunakan projek pada Github ke pelayan. Walaupun proses ini mungkin kelihatan membosankan, menggunakan pendekatan ini membolehkan penggunaan kod dan kerjasama yang cekap. Pada masa yang sama, ia juga memberikan kami peluang pembelajaran yang hebat, membolehkan kami memahami dengan lebih mendalam tentang Git, Node.js dan teknologi lain.

Atas ialah kandungan terperinci Penjelasan terperinci tentang langkah-langkah untuk menggunakan projek Github ke pelayan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn