この記事は記録して共有するために投稿していますが、非常に基本的な内容ですが、理解できない人に役立つことを願っています。 Q&Aに記事のようなものを投稿したら批判されるのではないかと質問されました。実際、私の記事には問題があります。git Webhook の自動デプロイメントが分からず、shell_exec 権限を有効にしたくないのと、何か良い方法があるかどうかも分からないからです。自動展開を実現します。
元の Alibaba Cloud サーバーは Win2003 (40G システム ディスク + 70G データ ディスク) で、システムは PHP システムを実行します。残念ながら、Linux を触ったことがないので、システムを変更していません。 ;
@安正超神が書いた Webhook の自動デプロイメントを見て、ローカルでコードを修正してからサーバーに送信したところ、権限が低すぎたことがわかりました。 Win2003 では本当に面倒なので、勇気を出してシステムを変更し、CentOS7.2 を採用しました。
私は Linux に触れたことがないので、たくさんの準備と下調べをしましたが、最大の問題は 70G データ ディスクの処理であることがわかりました。Win から CentOS に変更すると、Alibaba のエンジニアは間違いなくマウントできなくなるからです。与えられた解決策は、読み取りに Ntfs-3G を使用することです。この品質はわかりませんが、Linux が認識する方法でこのデータ ディスクをフォーマットしてマウントしたいと考えています。
これには、ローカルでのデータのバックアップと逆送信の問題が関係します。データ ディスクには約 6G の添付データがあり、すべて写真です。バックアップをパッケージ化してローカルにダウンロードするのに 5 時間、アップロードに 5 時間かかります。長すぎます。SF の友人から、OSS を一時的に購入してそこに転送してから戻すという提案がありました。一時的にクラウド ディスクを購入し、そこに転送してから戻してくれた 2 人の友人に感謝します。 . ただし、最終的にはパッケージ化して、この記事を投稿するときに zip をサーバーにアップロードしています。
インスタンスを非アクティブ化し、システムディスクを交換し、CentOS7.2 x64 を選択します。成功しました
サーバーに SSH 接続します: fdisk -l で、ディスクがパーティション化されていることを確認します
私が使用しているワンクリック環境は Pagoda bt.cn です。データ ディスクを /www ディレクトリにマウントする必要があります。
リーリー
shell_execコマンドは危険すぎるので、hook.phpにshell_exec(「git pull」)をトリガーさせると、システムに脆弱性があり、不正な要素がそれを使用してshell_execを実行すると悲惨になります。サーバーに手動で SSH 接続して手動でプルするか、Pagoda バックグラウンドでスケジュールされたタスクを使用することをお勧めします。
最後の写真を祝って、Baota Linux Assistant bt.cn、Baota エンジニア A Liang、@gleilei、@laminux29 に感謝します
返信内容: 記録して共有するためにこの記事を投稿しました。非常に初歩的な内容ですが、理解できない人に役立つことを願っています。 Q&Aに記事のようなものを投稿したら批判されるのではないかと質問されました。実際、私の記事には問題があります。git Webhook の自動デプロイメントが分からず、shell_exec 権限を有効にしたくないのと、何か良い方法があるかどうかも分からないからです。自動展開を実現します。
序文と背景:
コードがローカルで変更され、サーバーに FTP 送信されたことが判明しました。@安正超神が書いた Webhook の自動デプロイメントを見て、さまざまな権限が設定されていることがわかりました。 Win2003 は本当に面倒なので、この機会に勇気を出してシステムを変更し、CentOS7.2 を採用してみました。
私は Linux に触れたことがないので、たくさんの準備と下調べをしましたが、最大の問題は 70G データ ディスクの処理であることがわかりました。Win から CentOS に変更すると、Alibaba のエンジニアは間違いなくマウントできなくなるからです。与えられた解決策は、読み取りに Ntfs-3G を使用することです。この品質はわかりませんが、Linux が認識する方法でこのデータ ディスクをフォーマットしてマウントしたいと考えています。
これには、ローカルでのデータのバックアップと逆送信の問題が関係します。データ ディスクには約 6G の添付データがあり、すべて写真です。バックアップをパッケージ化してローカルにダウンロードするのに 5 時間、アップロードに 5 時間かかります。長すぎます。SF の友人から、OSS を一時的に購入してそこに転送してから戻すという提案がありました。一時的にクラウド ディスクを購入し、そこに転送してから戻してくれた 2 人の友人に感謝します。 . ただし、最終的にはパッケージ化して、この記事を投稿するときに zip をサーバーにアップロードしています。
インスタンスを非アクティブ化し、システムディスクを交換し、CentOS7.2 x64 を選択します。成功しました
サーバーに SSH 接続します: fdisk -l で、ディスクがパーティション化されていることを確認します
私が使用しているワンクリック環境は Pagoda bt.cn です。データ ディスクを /www ディレクトリにマウントする必要があります。
リーリー
shell_execコマンドは危険すぎるので、hook.phpにshell_exec(「git pull」)をトリガーさせると、システムに脆弱性があり、不正な要素がそれを使用してshell_execを実行すると悲惨になります。サーバーに手動で SSH 接続して手動でプルするか、Pagoda バックグラウンドでスケジュールされたタスクを使用することをお勧めします。
最後の写真を祝って、Baota Linux Assistant bt.cn、Baota エンジニア A Liang、@gleilei、@laminux29 に感謝します
皆さんがお金を節約するために長い間数十ギガバイトと格闘しているのを見ると少し悲しい気持ちになりますが、私は新しいブレード クラスタとストレージ マウントを備えた自作の BGP コンピュータ ルームで何もしていません。電気の無駄遣い。
Docker で遊んだり、Docker を使用して jenkins をデプロイしたり、継続的インテグレーション、git アップロード、自動サーバー テスト、デプロイメント、リリースを実行したりできます。 Docker を使用して gitlab をデプロイし、独自の git サーバーを作成することもできます。
質問に記事を投稿した場合に反対票が投じられるかどうかを本当に知りたいです...