ホームページ ウェブフロントエンド フロントエンドQ&A jenkins は vue を docker にデプロイします

jenkins は vue を docker にデプロイします

May 17, 2023 pm 10:39 PM

Jenkins は、ソフトウェア開発プロセスで重要な役割を果たす継続的インテグレーション (CI) および継続的デリバリー (CD) ツールです。 Docker は、アプリケーションを簡単にデプロイできる人気のあるコンテナ化テクノロジです。

この記事では、Jenkins を使用して Vue アプリケーションを Docker コンテナーにデプロイする方法を紹介します。このプロセスを段階的に説明します。

  1. Jenkins の構成

まず、Jenkins インターフェイスを通じて必要なプラグインをいくつかインストールする必要があります。 「Jenkins の管理」に移動し、「プラグイン管理」を選択し、「オプションのプラグイン」タブを選択します。ここで次のプラグインをインストールします:

  • Docker プラグイン
  • NodeJS プラグイン
  • HTML Publisher プラグイン
# #インストール後に Jenkins を再起動します。

    Jenkins ワークフローの作成
次に、Vue アプリケーションを構築してデプロイするための Jenkins ワークフローを作成します。以下の手順に従ってください:

    Jenkins ホームページに移動し、[新しいタスク] を選択します。
  • タスク名を入力し、「パイプライン」タイプを選択します。
  • [詳細プロジェクト オプション] セクションで、[Groovy DSL を使用する] 構文を選択し、[DSL スクリプト] フィールドに次のコードを入力します。
  • def app
    
    pipeline {
      agent {
        docker {
          image 'node'
        }
      }
      stages {
        stage('Build') {
          steps {
            sh 'npm install'
            sh 'npm run build'
          }
        }
        stage('Dockerize') {
          steps {
            sh 'docker build -t my-vue-app .'
            script {
              app = docker.build("my-vue-app:${env.BUILD_ID}")
            }
          }
        }
        stage('Publish') {
          steps {
            script {
              app.push()
            }
          }
        }
      }
      post {
        always {
          htmlpublisher target : [
            allowMissing : false,
            alwaysLinkToLastBuild : true,
            keepAll : true,
            reportDir : 'dist',
            reportFiles : 'index.html',
            reportName : 'HTML Report'
          ]
        }
      }
    }
    ログイン後にコピー
    This Jenkins スクリプトには、ビルド、Dockerize、リリースという 3 つのワークフロー ステップが含まれています。ここでは、まず「node」イメージを使用してビルドステップを実行し、そのステップで「npm install」コマンドと「npm run build」コマンドを実行します。このコマンドは、Vue アプリケーションを構築し、それを静的な HTML、CSS、および JS ファイルに変換します。
  • Dockerize ステージでは、前のステップで生成された静的ファイルを使用する Docker イメージを構築します。また、「BUILD_ID」環境変数を使用してイメージにバージョンのラベルを付けます。
  • 最後に、「公開」ステップで、Docker イメージを Docker Hub にプッシュします。この例では、Docker 認証情報を設定しませんでした。運用環境では、Docker ホスティング サービスに接続するために Docker 資格情報を設定する必要があります。
    Docker の構成
Vue アプリケーションを Docker コンテナーにデプロイする前に、サーバーに Docker と docker-compose をインストールする必要があります。次の手順に従ってください:

    Docker をダウンロードしてインストールします。
  • docker-compose をダウンロードしてインストールします。
Docker と docker-compose をインストールした後、Jenkins に構築されたばかりの Docker イメージをシステムにデプロイする必要があります。次の docker-compose ファイルを使用して、上記の Jenkins タスクから Docker Hub にプッシュされたイメージを使用するサービスを定義できます。

version: '3'
services:
  web:
    image: my-vue-app
    ports:
      - "80:80"
    restart: always
ログイン後にコピー

このファイルを docker-compose.yml として保存し、サーバーにアップロードします。 Docker Compose を使用してサービスを開始します。

docker-compose up -d
ログイン後にコピー
これにより、Vue アプリケーションのデプロイが開始されます。これで、Web ブラウザからアプリケーションにアクセスできるようになります (デフォルトではポート 80 上にあります)。このようにして、Jenkins を介して Vue アプリケーションを Docker コンテナにデプロイしました。

結論

この記事では、Vue アプリケーションを Docker コンテナにデプロイする方法について説明しました。 Jenkins の継続的統合およびデプロイメント ツールを使用すると、Vue アプリケーションを簡単に構築およびデプロイできます。また、Docker Compose を使用してサーバー上で実行中のコンテナをホストする方法についても説明しました。 Jenkins と Docker を使用して Vue アプリケーションの構築とデプロイを開始しましょう。

以上がjenkins は vue を docker にデプロイしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

UseEffectとは何ですか?副作用を実行するためにどのように使用しますか? UseEffectとは何ですか?副作用を実行するためにどのように使用しますか? Mar 19, 2025 pm 03:58 PM

この記事では、functionコンポーネントでのデータフェッチやDOM操作などの副作用を管理するためのフックであるReactの使用Effectについて説明します。メモリリークなどの問題を防ぐための使用、一般的な副作用、およびクリーンアップについて説明します。

usecontextとは何ですか?コンポーネント間で状態を共有するためにどのように使用しますか? usecontextとは何ですか?コンポーネント間で状態を共有するためにどのように使用しますか? Mar 19, 2025 pm 03:59 PM

この記事では、ReactのUseContextを説明しています。これにより、小道具掘削を避けることで国家管理を簡素化します。再レンダーの削減により、集中状態やパフォーマンスの改善などの利点について説明します。

connect()を使用して、ReactコンポーネントをReduxストアにどのように接続しますか? connect()を使用して、ReactコンポーネントをReduxストアにどのように接続しますか? Mar 21, 2025 pm 06:23 PM

記事では、Connect()、MapStateToprops、MapDispatchToprops、およびパフォーマンスへの影響を説明するReduxストアに反応コンポーネントをReduxストアに接続します。

イベントハンドラーのデフォルトの動作をどのように防止しますか? イベントハンドラーのデフォルトの動作をどのように防止しますか? Mar 19, 2025 pm 04:10 PM

記事では、PreventDefault()メソッドを使用して、イベントハンドラーのデフォルト動作の防止、ユーザーエクスペリエンスの強化などの利点、およびアクセシビリティの懸念などの潜在的な問題について説明します。

制御されたコンポーネントと制御されていないコンポーネントの利点と短所は何ですか? 制御されたコンポーネントと制御されていないコンポーネントの利点と短所は何ですか? Mar 19, 2025 pm 04:16 PM

この記事では、予測可能性、パフォーマンス、ユースケースなどの側面に焦点を当てた、Reactの制御されていないコンポーネントと制御されていないコンポーネントの利点と欠点について説明します。それらを選択する際に考慮することを要因についてアドバイスします。

< route>を使用してルートをどのように定義しますか 成分? < route>を使用してルートをどのように定義しますか 成分? Mar 21, 2025 am 11:47 AM

この記事では、< route>を使用して、Reactルーターのルートの定義について説明します。パス、コンポーネント、レンダリング、子供、正確、ネストされたルーティングなどの小道具をカバーするコンポーネント。

HTMLにおけるReactの役割:ユーザーエクスペリエンスの向上 HTMLにおけるReactの役割:ユーザーエクスペリエンスの向上 Apr 09, 2025 am 12:11 AM

ReactはJSXとHTMLを組み合わせてユーザーエクスペリエンスを向上させます。 1)JSXはHTMLを埋め込み、開発をより直感的にします。 2)仮想DOMメカニズムは、パフォーマンスを最適化し、DOM操作を削減します。 3)保守性を向上させるコンポーネントベースの管理UI。 4)国家管理とイベント処理は、インタラクティブ性を高めます。

Arrayおよびオブジェクトの変更に関するVUE 2の反応性システムの制限は何ですか? Arrayおよびオブジェクトの変更に関するVUE 2の反応性システムの制限は何ですか? Mar 25, 2025 pm 02:07 PM

VUE 2の反応性システムは、直接配列インデックス設定、長さの変更、およびオブジェクトプロパティの追加/削除と闘っています。開発者は、Vueの突然変異法とVue.set()を使用して、反応性を確保することができます。

See all articles