事前準備
展開ターゲットフロントエンドの自動デプロイメント プロセスを実装するために、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 をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
各ブラウザの select タグのプロパティと各ブラウザのサポートが多少異なるため、各ブラウザでの選...
目次レムフォルクスワーゲンサードパーティのUIフレームワークに適応する結論モバイル開発における最も一...
コンピュータ システムが再インストールされ、侵入テスト学習環境 DVWA を再インストールする必要が...
次のようなシナリオがあります。円形のコンテナで、最も外側のコンテナの背景が円弧になっています。内側の...
前回の記事では、HTML ページが 3 秒後に自動的にジャンプする一般的な 3 つの方法を紹介しまし...
この記事では、MySQL のデータ型とフィールド属性について説明します。ご参考までに、詳細は以下の通...
メソッドが定義されているクラスに応じて、現在のクラスへの静的参照を取得するには、self:: または...
問題を見つける今日はTomcatのソースコードを勉強するつもりなので、公式サイトからTomcatのソ...
クリック後にポップアップボックスを実現し、上下左右に中央揃えし、灰色の透明マスクを追加してウィンドウ...
show-header属性を使用したドキュメントのヒントshow-header <el-テーブ...
少し前に、docker ディスク容量が小さすぎてデータを書き込めないという問題が発生しました。理由は...
最近、私は「ぶどうコレクション」というプロジェクトに取り組んでいます。簡単に言うと、Budou ペー...
目次序文困難クロスドメイン定義nginxの機能リバースプロキシ静的と動的の分離達成しようとする最終結...
目次Docker デプロイメント Always on クラスターDockerをインストールする建築関...
目次JS スリーマウンテンズ同期 非同期同期と非同期の違い範囲、終了関数スコープチェーンブロックスコ...