


So implementieren Sie die automatisierte Git-Bereitstellung von PHP-Skripten
So implementieren Sie die automatisierte Bereitstellung von PHP-Skripten: 1. Installieren Sie Git. 3. Ändern Sie die Linux-Berechtigungen und ändern Sie die Konfiguration. 5. Generieren Sie einen Schlüssel . Geben Sie den Webhook-Domänennamen ein und laden Sie das PHP-Skript hoch.
Die Betriebsumgebung dieses Artikels: Linux5.9.8-System, Git-Version 2.30.0, DELL G3-Computer
Wie implementiert man die automatisierte Git-Bereitstellung von PHP-Skripten?
git+php stellt den Webhook automatisiert bereit Skripte zum Erreichen der Codesynchronisation
In diesem Artikel wird Git + PHP zum Bereitstellen automatisierter Webhook-Skripte zum Erreichen der Codesynchronisierung vorgestellt
Git mit Webhook-Automatisierung ist keine hochentwickelte Technologie, aber ich habe viele Umwege gemacht Bei meiner ersten Bereitstellung galt ich hauptsächlich als Linux-Neuling. In diesem Artikel werden die fehleranfälligen Probleme und Fallstricke aufgezeichnet in der LNMP-Umgebung, lokaler Push->Gitee Warehouse-Webhook->Linux-Server-PHP-Skript-Pull
Erstellen Sie zunächst ein Warehouse in der Gitee-Code-Cloud. Verwenden Sie das SSH-Protokoll, um lokal mit dem Warehouse zu kommunizieren Stellen Sie hier vor, wie Sie die öffentliche SSH-Adresse generieren.
1 Installieren Sie git
yum install git
2. Beachten Sie, dass Sie das SSH-Protokoll verwenden müssen, der Rest basiert auf SSH „
git initgit clone git@gitee.com:zhuyanbin/HiAdmin.git
3. Ändern Sie die Linux-Berechtigungen und ändern Sie die Konfiguration Weil wir Der Webhook benachrichtigt den Server, dass es sich um einen externen Zugriff handelt, daher ist der Administratorbenutzer hier standardmäßig der www-Benutzer, sodass www ausreichende Berechtigungen erhalten müssen
vim /etc/passwd 添加下面的一行 www:x:1001:1001::/home/www:/bin/bash
cat /etc/group
chmod u+w /etc/sudoers
#(3) Suchen Sie nach „Root erlauben, beliebige Befehle überall auszuführen“ und schreiben Sie den folgenden Inhalt unter die entsprechende Zeile des Root-Benutzers:
vim /etc/sudoers
#(4) Zurücknehmen die Schreibberechtigung für sudoers
www ALL=(ALL) NOPASSWD:/usr/bin/git
Ändern Sie die php-fpm.conf-Konfiguration, um den Besucher festzulegen, mein hier ist www, außerdem ist es die Standardkonfiguration von php
4. Generieren Sie abschließend den Schlüssel (dieser Schritt muss Seien Sie der WWW-Benutzer, der den Schlüssel generiert. PS: Ich stecke seit zwei Tagen an dieser Stelle fest und habe mehrere Tage damit verbracht, Baidu mit dem Root-Administratorkonto zu generieren, verschiedene Methoden ausprobiert und bin dann zum WWW gewechselt Benutzer muss den Schlüssel generieren und alles war in Ordnung)
Generieren Sie den öffentlichen Schlüssel
chmod u-w /etc/sudoers
mkdir -p /home/www/.ssh
chown -R www.www /home/www/.ssh
Sehen Sie sich den öffentlichen Schlüssel an
ssh-keygen -t rsa
Kopieren Sie den generierten öffentlichen Schlüssel in den öffentlichen Schlüssel des Gitee-Codes Cloud Warehouse. Füllen Sie die Stelle aus https://gitee. com/profile/sshkeys
Ergänzung: Es gibt zwei Stellen, an denen Gitee den öffentlichen Schlüssel des Lagers eintragen kann Pull-Berechtigung, der andere ist der öffentliche Schlüssel des Kontos, es gibt Pull-, Push- und andere Berechtigungen. Ich verwende hier direkt den öffentlichen Schlüssel des persönlichen Kontos Geben Sie den Webhook-Domänennamen ein und laden Sie das PHP-Skript hoch.
Nach oben PHP-Skript-Handler Hook.php (Linux-Befehl ausführen)
cat /home/www/.ssh/id_rsa.pub
Das ist es. Nach der Konfiguration des obigen Servercodes kann er automatisch synchronisiert werden, um die automatisierte Bereitstellung abzuschließenEs ist ein Problem aufgetreten
1.php-Skript ist nicht vorhanden ausgeführt
Der Grund dafür ist, dass viele PHP-Funktionen in php.ini nicht standardmäßig geöffnet sind, einschließlich der Ausführung der Linux-Skriptfunktion exec() usw. Suchen Sie php.ini, suchen Sie die Zeile „disable_functions“ und löschen Sie die entsprechende Funktion oder kommentieren Sie die gesamte Zeile aus
2. Der Git-Pull-Befehl kann nicht ausgeführt werden
Problem 1Host-Schlüsselüberprüfung fehlgeschlagen.
Schwerwiegend: Aus dem Remote-Repository konnte nicht gelesen werden. Bitte stellen Sie sicher, dass Sie das richtige haben Zugriffsrechte
und das Repository existiert.
归根结底还是因为linux权限的问题,我遇到的是出现一下问题
到这里的原因是因为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 提交
最后解决完以上问题,大功告成,上一张成功的截图
自己的后端语言是php,这里可以用多种方式去实现执行linux脚本,nodejs,python等等
推荐学习:《PHP视频教程》
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die automatisierte Git-Bereitstellung von PHP-Skripten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Befolgen Sie die folgenden Schritte, um ein Git -Repository zu löschen: Bestätigen Sie das Repository, das Sie löschen möchten. Lokale Löschen des Repositorys: Verwenden Sie den Befehl rm -RF, um seinen Ordner zu löschen. Löschen Sie ein Lager aus der Ferne: Navigieren Sie zu den Lagereinstellungen, suchen Sie die Option "Lager löschen" und bestätigen Sie den Betrieb.

Das Verbinden eines Git -Servers mit dem öffentlichen Netzwerk enthält fünf Schritte: 1. Einrichten der öffentlichen IP -Adresse; 2. Öffnen Sie den Firewall -Port (22, 9418, 80/443); 3. Konfigurieren Sie den SSH -Zugriff (Generieren Sie Schlüsselpaare, erstellen Benutzer). 4. Konfigurieren Sie HTTP/HTTPS -Zugriff (installieren Server, Konfigurieren Sie Berechtigungen); 5. Testen Sie die Verbindung (mit SSH -Client- oder Git -Befehlen).

Der Code -Konflikt bezieht sich auf einen Konflikt, der auftritt, wenn mehrere Entwickler denselben Code -Stück ändern und GIT veranlassen, sich zu verschmelzen, ohne automatisch Änderungen auszuwählen. Zu den Auflösungsschritten gehören: Öffnen Sie die widersprüchliche Datei und finden Sie den widersprüchlichen Code. Führen Sie den Code manuell zusammen und kopieren Sie die Änderungen, die Sie in den Konfliktmarker halten möchten. Löschen Sie die Konfliktmarke. Änderungen speichern und einreichen.

Um einen leeren Ordner in Git einzureichen, befolgen Sie einfach die folgenden Schritte: 1. Erstellen Sie einen leeren Ordner; 2. Fügen Sie den Ordner zum Staging -Bereich hinzu; 3. Senden Sie Änderungen und geben Sie eine Commit -Nachricht ein. 4. (Optional) Drücken Sie die Änderungen in das Remote -Repository. HINWEIS: Der Name eines leeren Ordners kann nicht beginnen. Wenn der Ordner bereits vorhanden ist, müssen Sie Git Add -Force zum Hinzufügen verwenden.

Um sich sicher eine Verbindung zu einem Remote -Git -Server herzustellen, muss ein SSH -Schlüssel mit öffentlichen und privaten Schlüssel generiert werden. Die Schritte zur Generierung eines SSH -Schlüssels sind wie folgt: Öffnen Sie das Terminal und geben Sie den Befehl SSH -Keygen -t RSA -B 4096 ein. Wählen Sie den Schlüsselspeicherort aus. Geben Sie einen Kennwortphrase ein, um den privaten Schlüssel zu schützen. Kopieren Sie den öffentlichen Schlüssel auf den Remote -Server. Speichern Sie den privaten Schlüssel ordnungsgemäß, da dies die Anmeldeinformationen für den Zugriff auf das Konto sind.

Wie füge ich einem Git -Konto einen öffentlichen Schlüssel hinzu? Schritt: Generieren Sie ein SSH -Schlüsselpaar. Kopieren Sie den öffentlichen Schlüssel. Fügen Sie einen öffentlichen Schlüssel in Gitlab oder GitHub hinzu. Testen Sie die SSH -Verbindung.

Git Rebase wird verwendet, um die Commits zu einer neuen Basislinie zu beantragen, um die Geschichte zu beseitigen oder Zweige zu verlagern. Verwendung

Ein Git -Repository ist der Speicherort für den Code- und Dateiversionsverlauf, mit dem Änderungen, Zusammenarbeit und Verwaltung von Projektversionen verwendet werden. Führen Sie die folgenden Schritte aus, um ein Git -Repository zu verwenden: Erstellen Sie ein Repository: Git Git init. Datei hinzufügen: Verwenden Sie Git Add, um die Datei zum Staging -Bereich hinzuzufügen. Änderungen des Festschaffens: Verwenden Sie Git, um die Staging -Änderungen im Repository zu speichern. Push -Änderungen: Verwenden Sie Git Push, um Änderungen in ein Remote -Repository zu verschieben. Pull -Änderungen: Verwenden Sie Git Pull, um Änderungen aus dem Remote -Repository abzurufen. Zweig: Erstellen Sie einen Zweig mit Git Branch. Merge: Verwenden Sie Git Fusion, um Änderungen aus verschiedenen Zweigen zu verschmelzen. Tag: Verwenden Sie Git Tag
