事前準備
展開ターゲットフロントエンドの自動デプロイメント プロセスを実装するために、Docker + Nginx + Jenkins 環境を構築します。具体的な実装効果としては、開発者がローカルで開発し、指定されたブランチにコードをプッシュして送信し、継続的インテグレーションと自動デプロイメントのために Jenkins を自動的にトリガーできることが挙げられます。デプロイメントが完了した後に、デプロイメントが成功したかどうかを示す電子メール通知を設定できます。成功した場合、パッケージ化されたファイルがサーバーにアップロードされ、ページが nginx リバース プロキシを介して表示されます。失敗した場合は、関連するエラー ログが出力されます。
Docker環境構築クラウドサーバーに接続Alibaba Cloud または Tencent Cloud が提供するオンライン端末を選択することもできますが (場合によってはスタックする可能性があります)、ローカル コンピューターを使用して接続することをお勧めします。ターミナルに接続コマンドを入力します。 ssh root@サーバーのパブリックネットワークアドレス その後、クラウド サーバーのパスワードを入力すると、コマンドによって次の結果が表示されます。 Docker には、Docker CE と Docker EE、つまりコミュニティ エディションとエンタープライズ エディションの 2 つのブランチ バージョンがあります。このチュートリアルは、CentOS 7 に Docker CE をインストールすることを前提としています。 Docker環境をインストールする1. Docker の依存ライブラリをインストールします。 yum インストール -y yum-utils デバイスマッパー永続データ lvm2 2. Docker CE のソフトウェア ソース情報を追加します。 sudo yum-config-manager --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo 3. Docker CE をインストールします。 sudo yum で docker-ce をインストールします 4. Docker サービスを開始します。 sudo systemctl enable docker // 起動時に自動的に起動するように設定する sudo systemctl start docker // docker を起動する Docker Docker Compose をインストールするDocker Compose は、マルチコンテナ Docker アプリケーションを定義および実行するためのツールです。 Compose では、YML ファイルを使用して、アプリケーションに必要なすべてのサービスを構成します。その後、1 つのコマンドを使用して、YML ファイル構成からすべてのサービスを作成して起動できます。 docker-compose をダウンロードします: sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose インストールが完了したら、権限を昇格します。 sudo chmod +x /usr/local/bin/docker-compose docker-compose -v と入力して次のページを表示します。 DockerはNginxとJenkinsサービスをインストールしますNginxとJenkinsをインストールするDocker イメージは、次のように Nginx および Jenkins 環境コマンドをプルします。 docker プル nginx docker pull jenkins/jenkins:lts インストールが完了したら、docker images を実行して、現在 Docker の下にあるイメージを明確に確認します。 Docker イメージ Nginx と Jenkins のディレクトリ書き込み管理を容易にするために、Nginx と Jenkins を Docker の下の 1 つのファイル ディレクトリに集約します。ディレクトリ構造は次のとおりです。 + 作曲する - docker-compose.yml // docker-compose 実行ファイル + nginx + conf.d - nginx.conf // Nginx 設定 + jenkins - jenkins_home // Jenkins マウントボリューム + Web サーバー -static //フロントエンドのパッケージ化後にdistファイルを保存する Web サーバー ディレクトリは後で生成されるため、ここでは説明しません。手動で作成する必要があるのは、Compose、Nginx、Jenkins ディレクトリとその従属ファイルであり、最も重要なのは docker-compose.yml ファイルと nginx.conf ファイルの構成です。上記のフォルダはルートディレクトリの下に置くことをお勧めします。ホームフォルダの下に置くことも、別途新しいフォルダを作成することもできます。 docker-compose.yml ファイルの設定バージョン: '3' services: # コレクション docker_jenkins: ユーザー: root # 権限の問題を回避するため、ここではrootを使用します restart: always # 再起動モード image: jenkins/jenkins:lts # サービスが使用するイメージを指定します。ここでは LTS (Long Term Support) を選択しました container_name: jenkins #コンテナ名 ports: #公開ポート定義 - 8080:8080 - 50000:50000 volumes: # ボリュームマウントパス - /home/jenkins/jenkins_home/:/var/jenkins_home # これは、コンテナ内の jenkins_home ディレクトリにマウントされた、最初に作成したディレクトリです - /var/run/docker.sock:/var/run/docker.sock - /usr/bin/docker:/usr/bin/docker # コンテナ内で docker コマンドを使用できるようにするためです - /usr/local/bin/docker-compose:/usr/local/bin/docker-compose nginx の最新バージョンをダウンロード 再起動: 常に 画像: nginx コンテナ名: nginx ポート: -8090:80 - 80:80 - 433:433 ボリューム: - /home/nginx/conf.d/:/etc/nginx/conf.d - /home/webserver/static/jenkins/dist/dist:/usr/share/nginx/html nginx.conf ファイルの設定サーバ{ 聞く 80; ルート /usr/share/nginx/html;インデックス index.html index.htm; } 上記の 2 つのファイルが設定されたら、/home/compose ディレクトリに移動し、次のコマンドを入力して環境を起動する必要があります。 docker-compose を起動 -d コンテナのステータスを表示するには、docker ps -a と入力します。 ステータスはupと表示され、その後ろのポート番号も上記のように表示され、正常な状態です。ブラウザにクラウド サーバーのパブリック IP アドレスとポート番号 8080 を入力すると、次のページが表示されます。 注記:
上図で必要なパスワードは、docker-compose.yml のボリューム内の /home/jenkins/jenkins_home/secrets/initAdminPassword にあります。次のコマンドで取得できます。 cat /home/jenkins/jenkins_home/secrets/initialAdminPassword Jenkinsプラグインをインストールするページに入ったら、「推奨インストール」を選択します。 インストールが完了したら、左側の「Jenkins の管理」オプションを選択します。次の図に示すように: Jenkins で、プラグインの管理で GitLab、Publish Over SSH、Nodejs などのプラグインを検索し、インストールします。 インストールが完了したら、Nodejs 環境と SSH パラメータを設定します。ホームページで、グローバル ツールの [構成] > [NodeJS] を選択し、自動インストールと対応する Nodejs バージョン番号を選択します。選択が成功したら、[保存] をクリックします。 SSH 情報を設定し、Jenkins の管理 > システムの構成でサーバーの関連情報を入力します。 JenkinsとGitLabを接続するキーを生成するルートディレクトリで次のコマンドを実行します。 ssh-keygen -t rsa 通常、デフォルトでは次の図に示すように 2 回入力します。 生成されたファイルを表示するには、cd ~/.ssh を使用します。生成されたキー id_rsa をコピーし、Jenkins の資格情報に貼り付けます。図に示すように: GitLab にログインし、GitLab で id_rsa.pub 公開キーを設定します。 新しいプロジェクト準備が完了したら、新しいタスクを開始し、[新しい項目] > [フリースタイル プロジェクト] を選択してフリースタイル プロジェクトを構築します。 ソースコード管理作成が完了したら、ソースコード管理で Git 情報を設定し、資格情報で先ほど追加した資格情報を選択します。 ビルドトリガービルド トリガーで、ビルドをトリガーするタイミングを選択します。コードをプッシュするときやリクエストをマージするときなど、チームメイトのフックを選択できます。 [詳細オプション] をクリックしてシークレット トークンを見つけ、[生成] をクリックしてトークン値を生成します。 設定が成功したら、GitLab に対応するフックも追加する必要があります。上記の画像の webhookURL (赤で囲まれている) とシークレット トークンの値をメモし、GitLab で設定します。 ビルド環境とビルド構成 上記の設定が完了すると、Jenkins は GitLab に関連付けられます。ローカルにファイルをプッシュすると、自動的にビルドされます。クラウド サーバーのパブリック IP アドレスにアクセスすると、変更したプロジェクトにアクセスできます。図に示すように、Jenkins 上で手動でビルドすることもできます。 結論最後に、簡単なオンライン展開プロジェクトは終了です。ドメイン名を持っている学生は、クラウド解決を使用してパブリック IP アドレスをマッピングできるため、プロジェクトの開発と起動に、より認識しやすいドメイン名を使用できます。 Docker、Nginx、Jenkins をベースとしたフロントエンドの自動デプロイメントに関する記事はこれで終わりです。Docker、Nginx、Jenkins の自動デプロイメントの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
Vue 3.x プロジェクトの作成 npm init @vitejs/app my-vue-app ...
1. クリアフローティング法1前の親要素の高さを設定します。注: エンタープライズ開発では、可能であ...
序文Web ページを作成するときに、次のような状況に遭遇することはよくあります。 <本文>...
最近、Zabbix データベースを MySQL 5.6 から 5.7 にアップグレードしたときに、マ...
この記事ではvueを使用し、マウスクリックイベントといくつかの小さなページの最適化を追加します。 基...
ルーティングvue-router4 では API の大部分は変更されていないため、変更点のみに焦点を...
ご存知のとおり、SSH は現在、リモート ログイン セッションやその他のネットワーク サービスにセキ...
この記事は主にMysqlの複数データベースのバックアップのコード例を紹介します。この記事ではサンプル...
JavaScriptの日付エフェクトの具体的なコードは参考用です。具体的な内容は次のとおりです。コー...
目次構造継承(callで実装)プロトタイプチェーン継承(プロトタイプチェーンの助けを借りて実装)複合...
方法1: SET PASSWORDコマンドを使用するまずMySQLにログインします。フォーマット: ...
mysql-connector-java.jar パッケージのチュートリアルをダウンロードします: ...
1. インデックスの原則インデックスは、列内の特定の値を持つ行をすばやく見つけるために使用されます。...
序文最近、オンラインでデータが誤って操作されました。データベースが直接変更されたため、それを回復する...
効果使用する場合は、コードとスタイルを自分で最適化してください。画像を表示しない/ビデオとオーディオ...