Heim >PHP-Framework >Laravel >Verwenden Sie Git, um die automatisierte Bereitstellung von Laravel-Projekten zu implementieren

Verwenden Sie Git, um die automatisierte Bereitstellung von Laravel-Projekten zu implementieren

藏色散人
藏色散人nach vorne
2019-09-19 10:13:044281Durchsuche

Verwenden Sie Git, um die automatisierte Bereitstellung von Laravel-Projekten zu implementieren

Einführung

In unserem Entwicklungsprozess werden wir zwangsläufig die Versionskontrolle verwenden. Dies vermittelt Ihnen natürlich auch ein Verständnis für Git und SVN. Beide sind hervorragende Tools zur Versionskontrolle. Ich persönlich bin eher an die Verwendung von Git gewöhnt. Das kann natürlich mit persönlichen Gewohnheiten zusammenhängen. Ich weiß nicht, wie Sie Git überhaupt für die Entwicklung verwendet haben. Ich habe den Code jedoch persönlich an das Github-Repository übermittelt, mich dann über SSH beim Server angemeldet und dann die Version geklont oder aktualisiert. Das hört sich sehr mühsam an, und in der Praxis ist es natürlich auch sehr mühsam. Gibt es also eine Möglichkeit, das Problem „ein für alle Mal“ zu beheben? Bitte lesen Sie weiter unten!

Einfach zu bedienen

Git-Hook

Was ist ein Git-Hook? Die offizielle Erklärung ist etwas lang. Einfach ausgedrückt handelt es sich um ein Skript, das in einer bestimmten Umgebung ausgelöst wird. Diese Erklärung ist möglicherweise nicht korrekt, aber ich denke, sie ist einfacher zu verstehen. Wenn Sie mehr wissen möchten, können Sie sie auf der offiziellen Git-Website nachlesen. Im Folgenden werden wir Hooks verwenden, um die automatisierte Bereitstellung zu implementieren.

Schritt 1: Erstellen Sie einen Git-Benutzer

Melden Sie sich bei unserem Server an. Standardmäßig haben Sie Git installiert. Erstellen Sie einen Git-Benutzer:

# 创建一个名叫jouzeyu的用户
adduser jouzeyu

Schritt 2: Berechtigungen für den Git-Benutzer hinzufügen

#在根目录下的 home 文件夹下创建一个git文件夹
mkdir /home/git 
#切换到创建好的git文件夹
cd /home/git
#创建 .ssh文件夹,里面主要用来放公钥
mkdir .ssh
#切换到.ssh文件夹并创建authorized_keys文件
cd .ssh
touch authorized_keys

Schritt 3: Git konfigurieren und den öffentlichen Schlüssel erhalten

#在本地配置用户名和邮箱,我的用户名默认为jouzeyu
git config --global user.name "jouzeyu"
git config --global user.email "your email"

Hinweis: Wenn Sie die Option --global verwenden, verwenden alle Ihre zukünftigen Projekte die hier konfigurierten Benutzerinformationen. Wenn Sie in einem bestimmten Projekt einen anderen Namen oder eine andere E-Mail-Adresse verwenden möchten, führen Sie einfach unter dem Projekt Folgendes aus:

git config user.name "xxx"
git config user.email "xxx"

OK, als nächstes erhalten wir den öffentlichen Schlüssel. Bitte überprüfen Sie zuerst die .ssh-Datei unter Ihrem Benutzer. Wenn der Ordner Bevor wir öffentliche und private Schlüssel enthalten, müssen wir nach einem Dateipaar mit dem Namen id_dsa oder id_rsa suchen, von denen eine die Erweiterung .pub hat. Die .pub-Datei ist Ihr öffentlicher Schlüssel und die andere ist Ihr privater Schlüssel. Wenn nicht, führen Sie ssh-keygen aus.

Verwenden Sie den Befehl cat ~/.ssh/id_rsa.pub, um den öffentlichen Schlüssel zu erhalten, kopieren Sie ihn, fügen Sie ihn mit dem Befehl vi oder vim in die zuvor erstellte Datei „authorized_keys“ ein und verwenden Sie zum Speichern Folgendes: wq Es.

Schritt 4: Repository initialisieren

Erstellen Sie einen Ordner zum Speichern des Git-Repositorys:

mkdir /www/wwwroot/git
cd /www/wwwroot/git

Initialisieren Sie das Repository:

#初始化一个裸仓库(强烈建议)
git init --bare website.git
#配置仓库的权限,让我们之前创建好的git用户jouzeyu能读写
chown -R git:git website.git

Hierbei ist zu beachten, dass bei fehlender Berechtigung der nachfolgende Git-Pull einen Fehler meldet, da keine Berechtigung zum Schreiben vorliegt. Der Unterschied zwischen einem Bare-Warehouse und einem gewöhnlichen Warehouse besteht lediglich darin, dass das Bare-Warehouse die Projektdateien nicht sehen kann. Das normale Warehouse ist mit Ihrem Projektverzeichnis identisch, mit Ausnahme eines zusätzlichen .git-Ordners.

Schritt 5: Projektlager generieren

Dies erfolgt ebenfalls auf dem Server. Bitte beachten Sie, dass /www/wwwroot/ das Stammverzeichnis meiner Umgebung ist.

#创建我服务器上的项目目录test
mkdir /www/wwwroot/test
#克隆仓库
git clone /www/wwwroot/git/website.git
#设置权限
chown -R git website

Hinweis: Achten Sie unbedingt auf meinen Pfad. Das Git-Repository ist /www/wwwroot/git und das Projekt-Repository ist /www/wwwroot/test.

Schritt 6: Auf lokal klonen

rrree

Aufgrund des öffentlichen Schlüssels ist hier kein Passwort erforderlich. Bei Erfolg wird eine Website auf Ihrem Computer angezeigt. Wenn ein Fehler gemeldet wird, überprüfen Sie ihn bitte, bevor Sie mit den folgenden Vorgängen fortfahren.

Schritt 7: Hochladen testen (git pull)

# 通过ip地址从配置好的线上仓库拉取下来
git clone git@47.97.121.XXX:/www/wwwroot/git/website.git
# 如果有配置域名的话也可以通过域名拉取
git clone git@www.XXX.XXX:/www/wwwroot/git/website.git

Wie erwartet wurde ein Fehler gemeldet. Überprüfen Sie bitte die Berechtigungen Wenn es noch nicht funktioniert, können Sie unten einen Kommentar abgeben.

Schritt 8: Hooks hinzufügen

Endlich ist es an der Zeit, zum Kernpunkt zu kommen. Der Text ist relativ detailliert, daher ist er etwas mühsamer. Zurück zu unserem Online-Server wird Folgendes online erledigt:

# 打开刚才克隆下来的本地仓库
cd website
# 创建README.md文件
touch README.md
git add .
git commit -m"创建README.md文件"
git push

Einfügen in die Post-Receive-Datei:

#切换到这个目录
cd /www/wwwroot/git/website.git/hooks
# 生成post-receive文件
touch post-receive
# 使用vim编辑
vim post-receive

Nach dem Speichern fügen Sie der Post-Receive-Datei Laufberechtigungen hinzu:

#!/bin/sh
# 打印输出
echo '======上传代码到服务器======'
# 打开线上项目文件夹
cd /www/wwwroot/test/website
# 这个很重要,如果不取消的话将不能在cd的路径上进行git操作
unset GIT_DIR
git pull origin master
# 自动编译vue项目,如有需要请去掉前面的#号
# npm run build
# 自动更新composer(我暂时没试过)
# composer update
echo $(date) >> hook.log
echo '======代码更新完成======'

Der letzte Schritt

Ändern Sie einige Inhalte lokal und senden Sie sie dann per Push-Git-Pull. Sie können sehen, dass wir die automatisierte Bereitstellung implementiert haben.

Verwenden Sie Git, um die automatisierte Bereitstellung von Laravel-Projekten zu realisieren

Verwenden Sie Git, um die automatisierte Bereitstellung von Laravel-Projekten zu implementieren

Weitere technische Artikel zu Laravel finden Sie im Laravel Framework Erste Schritte-Tutorial Kolumnenstudie!

Das obige ist der detaillierte Inhalt vonVerwenden Sie Git, um die automatisierte Bereitstellung von Laravel-Projekten zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen