Docker+daocloudはフロントエンドプロジェクトの自動構築とデプロイを実現します

Docker+daocloudはフロントエンドプロジェクトの自動構築とデプロイを実現します

自動プロジェクト展開は大企業やユニコーン企業でよく使用され、手動でプロジェクトを展開するよりも効率的です。そこでこの記事では、これまで学んだ docker の知識ポイントと nginx を組み合わせて、VueJs プロジェクトの自動デプロイを簡単に実装します。もちろん、他のプロジェクトでも同様です。

動作環境

まず、サーバーにdocker、nginx、nodeなどをインストールする必要があります。後続の操作に便利です。

dockerでnginxイメージをプルします。コマンドdocker pull nginx

vue-cli でプロジェクトを初期化する

vue init webpack プロジェクト名を使用してプロジェクトを初期化できます。ここでは、プロジェクト名が docker-vue であると仮定し、プロジェクトのルート ディレクトリに新しい Dockerfile ファイルを作成します。一般的な内容は次のとおりです。

nginx:latestから
#現在のパッケージプロジェクトのHTMLを仮想アドレスCOPY dist/ /usr/share/nginx/html/にコピーします
#カスタム nginx.conf を使用してポートとリスナーを設定します RUN rm /etc/nginx/conf.d/default.conf
default.conf を /etc/nginx/conf.d/ に追加します。

/bin/bash -c 'echo init ok!!!' を実行します。

そして、次の内容の default.conf ファイルを作成します。

サーバー{
# プロジェクトで定義されているポート番号は listen 8080 です。
server_name ローカルホスト;

#文字セット koi8-r;
#access_log /var/log/nginx/log/host.access.log メイン;

位置 / {
  ルート /usr/share/nginx/html;
  インデックス index.html index.htm;
}

#エラーページ 404 /404.html;

# サーバーのエラーページを静的ページ /50x.html にリダイレクトします
#
エラーページ 500 502 503 504 /50x.html;
場所 = /50x.html {
  ルートhtml;
}
}


それ以来、基本的な作業は完了しました。次のステップはdaocloud.ioの基本的な構成操作です。

daocloud.io 基本設定操作

アカウントをお持ちでない場合は、まずdaocloud.ioで登録してください。

操作は以下のとおりに分かれます。

  • プロジェクトを作成する
  • クラスター管理
  • ミラーリポジトリを作成する

プロジェクトを作成する


ここで、プロジェクト名を追加し、コード ソース (github、gitlab など) を設定して、ビルドする必要があるプロジェクトを選択する必要があります。ここでは、独自の github リポジトリ docker-vue を選択し、[作成の開始] をクリックします。

クラスター管理

クラスター管理の主な目的は、リモート サーバーに接続し、コマンドを通じて daocloud.io イメージを作成することです。


新しいホストを選択

私は Alibaba Cloud サーバーを自分で購入し、システムは Ubuntu なので、次の構成を選択してサーバー上で実行しました。

curl -sSL https://get.daocloud.io/daomonit/install.sh | sh -s e2fa03ebead51076411388c26dff2257dae89768

次のような Docker イメージをビルドします。


次の図に示すように、ホストが正常に作成されました。

ミラーリポジトリを作成する

[Image Warehouse]に入り、手動で作成したイメージを選択し、最新バージョンを無料ホストまたはクラウドテスト環境にデプロイします。



次に、次のアプリケーション設定を行います。

デプロイが完了すると、サーバー IP + 先ほど設定したコンテナ ポート番号を介してアクセスできるようになります。


このようにして、ほとんどの操作が完了しました。Docker コンテナを見ると、イメージ リポジトリが正常に作成された後、コンテナが自動的に作成されたことがわかります。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • docker+jenkins+node.js の自動デプロイメント環境をゼロから構築する方法
  • .Net Core 自動デプロイ: Jenkins の docker バージョンを使用して dotnetcore アプリケーションをデプロイする方法
  • Centos7+Docker+Jenkins+ASP.NET Core 2.0 の自動リリースとデプロイメントの実装
  • Docker で Apache Tomcat を自動的にデプロイする方法
  • docker -v と Publish over SSH プラグインを使用して、war パッケージを docker に自動的にデプロイする手順
  • tomcatのDocker自動デプロイの詳しい説明
  • Docker での Ruby on Rails のデプロイを自動化するチュートリアル

<<:  MySQL インジェクションにおける outfile、dumpfile、load_file 関数の詳細な説明

>>:  Vueはプルダウンを実装してさらに読み込む

推薦する

MySQL は制限を使用してページング例メソッドを実装します

1. 制限の基本的な実装一般的に、クライアントは、pageNo (ページ番号) と pageSize...

InnoDBのインデックスページ構造、挿入バッファ、適応ハッシュインデックスについての簡単な説明

InnoDB インデックスの物理構造すべての InnoDB インデックスは Btree インデックス...

js の toString メソッドの 3 つの機能

目次1. toStringメソッドの3つの機能2. オブジェクトを表す文字列を返す3. カスタム t...

JavaScript操作要素は、ページコンテンツのスタイルを変更する方法を教えます

目次1. 操作要素1.1. 要素コンテンツの変更1.2. innerText と innerHtml...

Linux sftp コマンドの使用法

SFTPの概念sftp は、安全なファイル転送プロトコルである Secure File Transf...

HTML いくつかの特別な分割線効果

1. 基本ライン 2. 特殊効果(効果は独立しておらず、互いに組み合わせることができます) 1. 両...

MySQL データベースのバックアップとリカバリの実装コード

データベースのバックアップ #文法: # mysqldump -h server-u usernam...

Nginx のタイムドログカットの詳細な説明

序文デフォルトでは、Nginx ログはファイルに書き込まれます。各ドメインのログを区別するために、通...

MySQL 分離レベルの詳細な説明と例

目次MySQL の 4 つの分離レベルデータ テーブルを作成します。分離レベルの設定物事の分離レベル...

Videojs+swiper が Taobao の商品詳細カルーセルを実現

この記事では、Taobao商品詳細のカルーセルを実現するためのvideojs+swiperの具体的な...

CSS カウンターを使用して数字の順序付きリストを美しく表示する方法

Web デザインでは、Web サイトに表示されるデータの構造とコンテンツをユーザーが明確に理解できる...

W3C チュートリアル (6): W3C CSS アクティビティ

スタイル シートは、ドキュメントの表示方法、発音方法、または入力方法を記述します。スタイル シートは...

Alibaba Cloud Centos 7.5 に MySQL をインストールするチュートリアル

CentOS 7 の yum ソースには、MySQL を正常にインストールするための mysql-s...

数ステップでサイバーパンク2077風の視覚効果を実現するCSS

背景記事を始める前に、賽博朋克とは何か、賽博朋克2077とは何かを簡単に理解しましょう。サイバーパン...

CSS3入力ボックスの実装コードはGoogleログインのアニメーション効果に似ています

CSS3を使用して、Googleログインページと同様の入力ボックスをアニメーション化します。効果1 ...