PHP を使用して GIT コードを自動的にデプロイする、php デプロイメント git_PHP チュートリアル
PHP を使用して GIT コードを自動的にデプロイし、PHP を使用して git をデプロイします
私は最近、Coding のコード ホスティングを使用し、WebHook の自動デプロイを設定しました。その主な理由は、WebHook の権限制御をまだ理解していなかったためです。 Linux ですが、幸いにも理解できました。参考までに、私にとって最も役に立った記事を紹介します。私の英語は苦手なので、とりあえず理解しましょう。それ
元のリンク: http://jondavidjohn.com/git-pull-from-a-php-script-not-so-simple/
新しいコミットがプッシュアップされたときに開発サーバーでプルを開始するために、リポジトリ (BitBucket でホストされている) をセットアップするつもりでした。
これは非常に単純なプロセスのように思えました。BitBucket には受信後フックとして POST リクエストを発行するサービスがあるため、ランダム化されたトークンをチェックしてから を開始するようにしました。これは…git pull
リーリー
私が考慮していない考慮事項がいくつかありましたが、それをここに文書化することで、このようなものをセットアップする際の障害を回避できると幸いです。
(見逃した)考察
バイナリ (この場合は
)git
を実行しようとしているユーザーは Apache ユーザー (この例では www
git pull
is the apache user (www
in our case). This user did not happen to have git
) です。このユーザーはパスにたまたまを持っていませんでした。
。
exec()
family of functions simply fail silently because they only report STDOUT and not STDERR. To get the function to report STDERR you can route it into STDOUT by adding 2->&1
exec()
関数ファミリーは STDERR ではなく STDOUT のみを報告するため、単にサイレントに失敗するため、これを追跡するのに時間がかかりました。関数を STDERR に報告するには、関数を STDOUT にルーティングします。コマンドの最後に 2->&1
を追加します。
which git
, which is /full/path/to/bin/git
これに気付いた後、ログインして、 that git
で git バイナリのフルパスを見つけました。これは、 /full/path/to/bin/git
です。
次の問題を報告していました...
権限
リーリーApache ユーザーには、リポジトリ全体への読み取りおよび書き込みアクセスも必要です。
リーリーグループ スティッキー ビットを設定して、他の人が作成したファイル/ディレクトリがこの所有権を確実に継承するようにすることもお勧めします。
リーリー「ホストキーの検証に失敗しました」
known_hosts
次に、Apache ユーザーで最初の git pull を実行して、リモートが Apache ユーザーの ファイルに追加されていることを確認する必要があります
リーリー
sshキーApache ユーザーがこのコマンドを実行することで生じるもう 1 つの考慮事項は、リモート リポジトリとの通信に使用される ssh キーです。
まず、GIT_SSH
environment variable to set the ssh -i
GIT_SSH
環境変数を使用して、 ssh -i
オプションを設定して、特定の ssh キーを使用するように指示します。私は ssh ユーザーを使用して生成しましたが、これは機能しませんでした。おそらく、ssh が特定のキーの安全性を判断するために使用するルールが多数あるためです。キーを使用しようとしているユーザーに関する特定の権限が必要です。 .
私が発見したより簡単な方法は、Apache ユーザーにホーム ディレクトリ (/etc/passwd
) and a .ssh
directory and then run the ssh-keygen
command as the apache user (www
/etc/passwd
経由) と .ssh
ディレクトリを与えてから、 ssh-keygen コマンド as Apache ユーザー (www
)

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

eコマースのウェブサイトを開発するとき、私は困難な問題に遭遇しました:大量の製品データで効率的な検索機能を達成する方法は?従来のデータベース検索は非効率的であり、ユーザーエクスペリエンスが低いです。いくつかの調査の後、私は検索エンジンタイプセンスを発見し、公式のPHPクライアントタイプセンス/タイプセンス-PHPを通じてこの問題を解決し、検索パフォーマンスを大幅に改善しました。

IISとPHPは互換性があり、FastCGIを通じて実装されています。 1..phpファイル要求を構成ファイルを介してFastCGIモジュールに転送します。 2. FASTCGIモジュールは、PHPプロセスを開始して、パフォーマンスと安定性を改善するための要求を処理します。 3。実際のアプリケーションでは、構成の詳細、エラーデバッグ、パフォーマンスの最適化に注意する必要があります。

初心者に適した暗号通貨データプラットフォームには、Coinmarketcapと非小さいトランペットが含まれます。 1。CoinMarketCapは、初心者と基本的な分析のニーズに合わせて、グローバルなリアルタイム価格、市場価値、取引量のランキングを提供します。 2。小さい引用は、中国のユーザーが低リスクの潜在的なプロジェクトをすばやくスクリーニングするのに適した中国フレンドリーなインターフェイスを提供します。
