自動デプロイ (継続的インテグレーション/CI 継続的デリバリー/CD) はソフトウェア開発のトレンドであり、DevOps の開発に役立ちます。今日の実践は、Docker Jenkins LNMP コード クラウドに基づいて、PHP コードの自動デプロイメント プロセスを実現します。
環境構成
オペレーティング システム: CentOS Linux リリース 7.6.1810
Docker バージョン: 19.03.5
Jenkins バージョン: 2.204.1
Nginx バージョン: 1.15.5
PHP バージョン: 7.2.26
MySQL バージョン: 8.0.18
Redis バージョン:5.0.5
コード クラウド: コード ウェアハウス
コード クラウド ウェアハウスの準備
プロジェクト ウェアハウスの作成
Jenkins の準備
ssh プラグインをインストールします
プロジェクトをビルドするにはいくつかのシェル コマンドを実行する必要があるため、そのため、ssh ログイン方法を使用してリモート サーバーと通信します。
1. システム管理 -> プラグイン管理
2. 検索: ssh、インストール
##新しいプロジェクト タスク
タスク名を中国語にすることはできません。最初のものを選択してください: フリースタイル プロジェクト カスタム プロジェクト ##エンジニアリング タスクの構成1. ソース コード管理の選択: git
2. リポジトリ URL: ウェアハウス アドレス (私のものはコード クラウド ウェアハウスです)
3. 認証情報、[追加] を選択します
4. 認証情報を追加します
5. ウェアハウス秘密キーを構成します (詳細については、Code Cloud のウェアハウス キー管理ヘルプを参照してください)
資格情報が正常に構成されたら、前の手順で構成したユーザー名を選択するだけです。ウェアハウスのアドレスに正常に接続できれば、エラーは報告されません。
#ビルド トリガーの選択: GITScm ポーリング用の Github フック トリガー
ビルド環境: 秘密のテキストを使用するか、 file(s) //ファイルをプライベートに転送します。
資格情報: 指定された資格情報を選択します。 gitConfigure ssh
#1. システム管理 -> システム構成 ##2. リモート サーバー SSH 関連情報の設定
ビルド シェル スクリプトの構成ビルド: ssh を使用してリモート ホストでシェル スクリプトを実行 //ビルド時にリモート サーバー シェル スクリプトを実行します1. SSH サイトを入力します //リモート サーバー sshログイン
2. コマンド //シェルスクリプト備考:コードは自動的にjenkinsのワークスペースディレクトリにデプロイされ、プロジェクトのサイトディレクトリは/dataにあるため/ www なので、ビルドするときに、更新されたコード ファイルをプロジェクト サイトにコピーする必要があります (実装方法は多数あります。ここでは、コードのサイズが多くのスペースを占有しないため、コードのコピーを使用します)現在、多くの静的リソースは一部のクラウド サービスに配置されています)最初はソフト接続方法を使用しましたが、nginx がソフト接続アクセスをサポートしていないためです。#構成が完了したら、[保存]をクリックします
#Code Cloud Code Pushコード クラウド ウェアハウス内のコードを変更し、PR をマスター ブランチに送信します。
デプロイメント タスクの手動構築
[手動でビルド] をクリックして自動コード デプロイメントを実現します
備考:
これも可能ですgit Push の監視後に直接自動的にビルドするように構成できます (これはテスト環境で推奨されます)
ビルドを手動でクリックすると管理が向上します (これは運用環境で推奨されます)
タスクの構築に失敗すると、エラー メッセージと赤いマークが表示されます //管理に非常に便利です
##Web サイトにアクセスしてください
自動展開タスクが正常に構築されたら、プロジェクトにアクセスして変更の効果を確認してください以上がDocker+LNMP+Jenkins+Code CloudでPHPコードの自動デプロイを実現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。