Rumah pembangunan bahagian belakang masalah PHP Bagaimana untuk melaksanakan penggunaan automatik git bagi skrip php

Bagaimana untuk melaksanakan penggunaan automatik git bagi skrip php

Jan 11, 2022 am 09:40 AM
git php

Cara melaksanakan penggunaan skrip php secara automatik: 1. Pasang git; 2. Klonkan kod gudang; kunci; 6 , isikan nama domain webhook dan muat naik skrip php.

Bagaimana untuk melaksanakan penggunaan automatik git bagi skrip php

Persekitaran pengendalian artikel ini: sistem linux5.9.8, Git versi 2.30.0, komputer DELL G3

git automatik skrip php penyebaran Bagaimana untuk melaksanakan?

git php gunakan skrip automasi webhook untuk mencapai penyegerakan kod

Artikel ini akan memperkenalkan skrip automatik webhook penggunaan php git untuk mencapai penyegerakan kod
Git dengan penggunaan automatik webhook bukanlah teknologi yang canggih, tetapi terdapat banyak lencongan dalam penggunaan pertama, terutamanya saya seorang pemula dalam Linux Artikel ini merekodkan masalah yang mudah untuk membuat kesilapan dan masalah yang dihadapi
Sediakan
untuk menggunakan nama domain web dan bahagian pelayan yang boleh diakses. skrip php dalam persekitaran lnmp. Warehouse code cloud gitee

Proses automatik, push->gitee warehouse webhook->linux server php script pull
Mula-mula buat gudang pada gitee code cloud
Secara tempatan gunakan protokol ssh untuk berkomunikasi dengan komunikasi gudang, komputer tempatan saya adalah windows, jadi saya tidak akan memperkenalkan cara menjana kunci awam ssh di sini saya akan memperkenalkannya di bawah Linux

1 >

yum install git
Salin selepas log masuk
2. Klonkan kod gudang "Nota Pastikan anda menggunakan protokol ssh, selebihnya adalah berdasarkan ssh》

git initgit clone git@gitee.com:zhuyanbin/HiAdmin.git
Salin selepas log masuk
3. Tukar kebenaran linux dan ubah suai konfigurasi

Kerana webhook kami memberitahu pelayan bahawa ia adalah akses luaran, pengguna pentadbir di sini lalai Ia adalah pengguna www, jadi www mesti diberi kebenaran yang mencukupi

vim /etc/passwd
添加下面的一行
www:x:1001:1001::/home/www:/bin/bash
Salin selepas log masuk
1001 ialah id kumpulan pengguna . Gunakan arahan berikut untuk melihat id pengguna www.

cat /etc/group
Salin selepas log masuk
Tukar www Pengguna menyertai sudoers dan boleh melaksanakan shell tanpa kata laluan

#(1) Tambahkan kebenaran untuk menulis sudoers ke pengguna semasa

chmod u+w /etc/sudoers
Salin selepas log masuk
#(2) Edit sudoers

vim /etc/sudoers
Salin selepas log masuk
#(3) Cari untuk Benarkan root menjalankan sebarang arahan di mana-mana sahaja, dan tulis kandungan berikut di bawah baris yang sepadan pengguna akar:

www     ALL=(ALL)       NOPASSWD:/usr/bin/git
Salin selepas log masuk
#(4) Ambil semula kebenaran menulis kepada sudoers

chmod u-w /etc/sudoers
Salin selepas log masuk

Bagaimana untuk melaksanakan penggunaan automatik git bagi skrip php Ubah suai konfigurasi php-fpm.conf untuk menetapkan pelawat. Berikut ialah www, yang merupakan konfigurasi lalai php

Bagaimana untuk melaksanakan penggunaan automatik git bagi skrip php 4. Akhirnya jana Kunci (langkah ini mesti dihasilkan oleh pengguna www. ps: Saya telah terperangkap di sini selama dua hari. Saya telah menggunakan akaun pentadbir akar untuk menjana kunci Saya mencuba pelbagai kaedah pada Baidu selama beberapa hari, dan kemudian beralih kepada pengguna www untuk menjana kunci kunci awam

mkdir -p /home/www/.ssh
Salin selepas log masuk
Lihat kunci awam
chown -R www.www /home/www/.ssh
Salin selepas log masuk
ssh-keygen -t rsa
Salin selepas log masuk

Kunci awam akan dijana Salin ke tempat pengisian kunci awam gudang kod gitee

https ://gitee.com/profile/sshkeys
cat /home/www/.ssh/id_rsa.pub
Salin selepas log masuk


Tambahan: Terdapat dua tempat untuk gitee mengisi kunci awam, satu adalah kunci awam kunci gudang Jika anda mengisi awam kunci gudang, kebenaran git pelayan hanya akan mempunyai kebenaran tarik Yang lain adalah kunci awam akaun Jika anda mengisi kunci awam akaun peribadi, akan ada kebenaran tarik, tolak dan lain-lain terus di sini. Kunci awam akaun peribadi
5. Akhir sekali isikan nama domain webhook dan jalankan skrip php Bagaimana untuk melaksanakan penggunaan automatik git bagi skrip php Isi nama domain alamat pemberitahuan webhook (tetapan kata laluan kosong, tiada pengesahan kata laluan dalam php nanti , jika anda menganggap keselamatan, sila tetapkan kata laluan kemudian)


Muat naik php script handler hook.php (laksanakan arahan linux)
Bagaimana untuk melaksanakan penggunaan automatik git bagi skrip php
Pada ketika ini, selepas mengkonfigurasi kod pelayan di atas, ia boleh disegerakkan secara automatik untuk melengkapkan penggunaan automatik

    chdir("/home/wwwroot/default/HiAdmin");
    exec("git pull origin master 2>&1", $out);
    foreach($out as $v)
    {
        echo iconv( 'GB2312','UTF-8', $v)."<br>";
    }
Salin selepas log masuk

Masalah berlaku

skrip 1.php tidak dilaksanakan Sebabnya ialah banyak php fungsi dalam php.ini tidak dihidupkan secara lalai, termasuk pelaksanaan skrip linux functions exec(), shell_exec(), dll. Tunggu

untuk mencari php.ini, cari baris disable_functions dan padamkan fungsi yang sepadan, atau ulas keseluruhan baris



2. Tidak dapat melaksanakan arahan git pull
Bagaimana untuk melaksanakan penggunaan automatik git bagi skrip phpSoalan 1

Pengesahan kunci hos gagal.

maut: Tidak dapat baca dari repositori jauh.

Sila pastikan anda mempunyai hak akses yang betul

dan repositori itu wujud.

归根结底还是因为linux权限的问题,我遇到的是出现一下问题
Bagaimana untuk melaksanakan penggunaan automatik git bagi skrip php
到这里的原因是因为root生成git公钥密钥,而切换到www后生成公钥密钥后就成功了(上述第四小步生成公钥,一定使用www生成公钥密钥)

问题二

error: insufficient permission for adding an object to repository database .git/objects
fatal: failed to write object
fatal: unpack-objects failed

这个还是没有权限执行git命令,只需要执行以下

第一步:cd .git/objects  定位到git下的objects文件下
第二步: ls -al 查看git库的所有者(git用户 git组)
第三步: chown -R yourname:yourgrounp * 或者sudo chmod 777 -R .git/objects 提交
Salin selepas log masuk

最后解决完以上问题,大功告成,上一张成功的截图
Bagaimana untuk melaksanakan penggunaan automatik git bagi skrip php
自己的后端语言是php,这里可以用多种方式去实现执行linux脚本,nodejs,python等等

推荐学习:《PHP视频教程

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan penggunaan automatik git bagi skrip php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara memadam repositori dengan git Cara memadam repositori dengan git Apr 17, 2025 pm 04:03 PM

Untuk memadam repositori Git, ikuti langkah -langkah ini: Sahkan repositori yang anda mahu padamkan. Penghapusan repositori tempatan: Gunakan perintah RM -RF untuk memadam foldernya. Jauh memadam gudang: Navigasi ke tetapan gudang, cari pilihan "Padam Gudang", dan sahkan operasi.

Cara menyambung ke rangkaian awam pelayan git Cara menyambung ke rangkaian awam pelayan git Apr 17, 2025 pm 02:27 PM

Menyambungkan pelayan Git ke rangkaian awam termasuk lima langkah: 1. Sediakan alamat IP awam; 2. Buka port firewall (22, 9418, 80/443); 3. Konfigurasi akses SSH (menghasilkan pasangan utama, buat pengguna); 4. Konfigurasi akses HTTP/HTTPS (pasang pelayan, konfigurasikan keizinan); 5. Uji sambungan (menggunakan klien SSH atau arahan git).

Cara Menangani Konflik Kod Git Cara Menangani Konflik Kod Git Apr 17, 2025 pm 02:51 PM

Konflik kod merujuk kepada konflik yang berlaku apabila pelbagai pemaju mengubah suai kod yang sama dan menyebabkan Git bergabung tanpa memilih perubahan secara automatik. Langkah -langkah resolusi termasuk: Buka fail yang bercanggah dan cari kod yang bercanggah. Gabungkan kod secara manual dan salin perubahan yang anda mahu masuk ke dalam penanda konflik. Padam tanda konflik. Simpan dan serahkan perubahan.

Cara menghantar folder kosong dalam git Cara menghantar folder kosong dalam git Apr 17, 2025 pm 04:09 PM

Untuk menghantar folder kosong di Git, ikuti langkah -langkah berikut: 1. Buat folder kosong; 2. Tambah folder ke kawasan pementasan; 3. Hantar perubahan dan masukkan mesej komit; 4. (Pilihan) Tolak perubahan ke repositori jauh. Nota: Nama folder kosong tidak boleh bermula dengan. Jika folder sudah wujud, anda perlu menggunakan Git Add --force untuk menambah.

Cara menjana kunci ssh dalam git Cara menjana kunci ssh dalam git Apr 17, 2025 pm 01:36 PM

Untuk selamat menyambung ke pelayan Git Jauh, kunci SSH yang mengandungi kekunci awam dan swasta perlu dijana. Langkah -langkah untuk menghasilkan kunci SSH adalah seperti berikut: Buka terminal dan masukkan perintah SSH -Keygen -T RSA -B 4096. Pilih lokasi penjimatan utama. Masukkan frasa kata laluan untuk melindungi kunci peribadi. Salin kunci awam ke pelayan jauh. Simpan kunci peribadi dengan betul kerana ia adalah kelayakan untuk mengakses akaun.

Cara Menambah Kekunci Awam ke Akaun Git Cara Menambah Kekunci Awam ke Akaun Git Apr 17, 2025 pm 02:42 PM

Bagaimana untuk menambah kunci awam ke akaun Git? Langkah: Menjana pasangan kunci SSH. Salin kunci awam. Tambah kunci awam di Gitlab atau GitHub. Uji sambungan SSH.

Cara Menggunakan Git Rebase Cara Menggunakan Git Rebase Apr 17, 2025 pm 04:00 PM

GIT Rebase digunakan untuk memohon semula ke dasar baru untuk membersihkan sejarah atau memindahkan cawangan. Cara Menggunakan: Buat Cawangan Sasaran Pilih komit untuk dimasukkan semula dan laksanakan perintah Git Rebase, tentukan cawangan sasaran dan komit skop untuk menyelesaikan konflik, terus memohon semula perubahan pengesahan komited yang selebihnya.

Cara menggunakan repositori git Cara menggunakan repositori git Apr 17, 2025 pm 04:06 PM

Repositori Git adalah lokasi penyimpanan untuk sejarah kod dan versi fail yang digunakan untuk mengesan perubahan, bekerjasama dan menguruskan versi projek. Untuk menggunakan repositori git, lakukan langkah -langkah berikut: Buat repositori: Run git init. Tambah Fail: Gunakan Git Tambah untuk menambah fail ke kawasan pementasan. Perubahan Komited: Gunakan komited git untuk menyimpan perubahan pementasan dalam repositori. Perubahan tolak: Gunakan push git untuk menolak perubahan ke repositori jauh. Tarik perubahan: Gunakan tarik git untuk mendapatkan perubahan dari repositori jauh. Cawangan: Buat cawangan menggunakan cawangan git. Gabungan: Gunakan gabungan git untuk menggabungkan perubahan dari cawangan yang berbeza. Tag: Gunakan tag git

See all articles