JP2014164545A - Deployment method and program - Google Patents
Deployment method and program Download PDFInfo
- Publication number
- JP2014164545A JP2014164545A JP2013035379A JP2013035379A JP2014164545A JP 2014164545 A JP2014164545 A JP 2014164545A JP 2013035379 A JP2013035379 A JP 2013035379A JP 2013035379 A JP2013035379 A JP 2013035379A JP 2014164545 A JP2014164545 A JP 2014164545A
- Authority
- JP
- Japan
- Prior art keywords
- application
- deployment
- environment
- server
- denotes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、サーバーにアプリケーションをデプロイする方法、およびプログラムに関する。 The present invention relates to a method and program for deploying an application to a server.
近年、クラウドコンピューティングあるいはクラウドというキーワードがIT業界を中心に爆発的に広がっている。従来のコンピューターハードウェアとソフトウェアを購入・利用するモデルから、インターネット上のサービスを購入・利用するモデルへのシフトが加速している。クラウドには、大きく3種類の分類があると言われている。 In recent years, the keyword cloud computing or cloud has exploded in the IT industry. The shift from models that purchase and use traditional computer hardware and software to models that purchase and use services on the Internet is accelerating. The cloud is said to have three main categories.
1つ目は、SaaS(Software as a Service)であり、サービス提供者がインターネット経由でソフトウェアを提供し、サービス利用者は主にブラウザーを使用して目的のソフトウェアを利用するモデルである。SaaSは、より以前には、ASP(Application Service Provider)と呼ばれていた形態とほぼ同一である。サービス提供者は、インターネット上にソフトウェアを提供するためのWebサイトを構築すればよく、ソフトウェアを配布する必要がない。サービス利用者の側では、専用のソフトウェアを自分のコンピューターにインストールする必要がなく、一般的にはブラウザーおよびそのプラグインのみで目的のソフトウェアを利用可能である。このSaaSの特徴により、いわゆるパーソナルコンピュータからの利用のみならず、携帯電話、小型ラップトップコンピュータやタブレットなどのモバイル端末からも利用可能である。 The first is SaaS (Software as a Service), in which a service provider provides software via the Internet, and a service user mainly uses a browser to use the target software. SaaS is almost the same as the former form called ASP (Application Service Provider). The service provider only needs to build a Web site for providing software on the Internet, and does not need to distribute the software. On the service user side, there is no need to install dedicated software on his / her computer, and in general, the target software can be used only with a browser and its plug-ins. Due to the characteristics of this SaaS, it can be used not only from so-called personal computers but also from mobile terminals such as mobile phones, small laptop computers and tablets.
2つ目は、PaaS(Platform as a Service)であり、インターネット経由のアプリケーション実行用プラットフォームのことである。マイクロソフト社のWindows(登録商標) Azure Platformがその一例であり、アプリケーション実行環境であるWindows Azureや、データベース実行環境であるSQL Azure(登録商標)などを提供している。 The second is PaaS (Platform as a Service), which is an application execution platform via the Internet. One example is Microsoft's Windows (registered trademark) Azure Platform, which provides Windows Azure, which is an application execution environment, and SQL Azure (registered trademark), which is a database execution environment.
3つ目は、IaaS(Infrastructure as a Service)であり、インターネット経由の仮想マシンやストレージの貸出サービスである。アマゾン社のAmazon EC2(登録商標)による仮想マシンの貸出、Amazon S3(登録商標)によるストレージの貸出などが、その一例である。 The third is IaaS (Infrastructure as a Service), a virtual machine and storage rental service via the Internet. Examples are Amazon's Amazon EC2 (registered trademark) virtual machine lending, Amazon S3 (registered trademark) storage lending.
サービス提供者が新たにインターネット上でビジネスを立ち上げたい場合、PaaSやIaaSを利用することにより、自前でコンピューター環境を用意する必要がないため、初期の設備投資が少なくて済む。PaaSやIaaSは、コンピューターリソースの使用量に応じて課金するモデルが主流で、サービス提供者はビジネスの規模に応じてPaaSやIaaS上のコンピューターリソースを増やすことができる。 If a service provider wants to start a new business on the Internet, it is not necessary to prepare a computer environment by using PaaS or IaaS, so the initial capital investment is small. PaaS and IaaS are mainly models that charge according to the amount of computer resources used, and service providers can increase computer resources on PaaS and IaaS according to the scale of their business.
これらのクラウドコンピューティングの進展にともない、アプリケーションを開発して、インターネット上のサービスとして公開することが、容易かつ以前よりも廉価に実現が可能になってきている。また、前述のIaaSの仮想マシンの貸出サービスなどにより、アプリケーションを開発したり、テストしたりする環境も、必要なときに必要な期間だけ構築することができ、開発・テストの効率化にも役立てることができる。あるサービスを開発し、公開する、といった場合、開発を行うための開発環境、テストを行うためのテスト環境、一般に公開するための本番環境など、複数の環境を持つ必要がでてくる。また、開発用途でも、既存バージョンを保守するための環境、新規バージョンを開発するための環境、テスト用途でも、性能テスト用、機能テスト用など、様々な用途に合わせた環境を複数持つ必要がでてくることがある。 With the progress of cloud computing, it has become possible to develop applications and publish them as services on the Internet easily and at a lower cost than before. In addition, the above-mentioned IaaS virtual machine lending service can be used to build an environment for developing and testing applications only when necessary, which helps to improve the efficiency of development and testing. be able to. When developing and publishing a service, it is necessary to have multiple environments, such as a development environment for performing development, a test environment for performing tests, and a production environment for publishing to the general public. Also, for development purposes, it is necessary to have multiple environments suitable for various purposes, such as for maintaining existing versions, for developing new versions, for testing purposes, for performance testing, for functional testing, etc. May come.
あるサービスを提供するために、開発したアプリケーションを、仮想マシンまたは物理マシンであるサーバーに配置・設定をする作業が必要である。(以降、アプリケーションをサーバーに配置・設定する作業をデプロイと呼ぶ。)サーバーの数や、アプリケーションの数が少ない場合、作業者がアプリケーションファイルのサーバーへの配置や、設定値の変更などを手作業で行ってもそれほど問題はない。しかし、アプリケーションの数が増えたり、配置先のサーバー数などが増えてくると、配置作業を効率的に行うために、一般的にはインストーラを作成する。 In order to provide a certain service, it is necessary to place and set the developed application on a server that is a virtual machine or a physical machine. (Hereafter, the task of placing and setting applications on the server is called deployment.) When the number of servers or applications is small, the worker manually places the application files on the server or changes the setting values. There is not much problem even if you go there. However, when the number of applications increases or the number of servers at the placement destination increases, an installer is generally created in order to efficiently perform the placement work.
特許文献1では、複数のアプリケーションを効率よくインストールするために、インストール自動化方法が提案されている。この従来技術によれば、ある特定のサーバーにおけるインストール作業が効率化可能である。 Patent Document 1 proposes an installation automation method for efficiently installing a plurality of applications. According to this prior art, the installation work in a specific server can be made efficient.
また、一般にサイレントインストールなどとして知られる自動インストール方法が存在する。インストーラは、インストール実行時に、作業者にユーザーインターフェースを表示し、必要なデータを入力させることができる。前記のサイレントインストールは、ユーザーインターフェースからデータを入力させる代わりに、入力の代替となるデータを応答ファイルにあらかじめ記述しておくことにより、インストールを自動化する方法である。 There is also an automatic installation method generally known as silent installation. The installer can display the user interface and allow the operator to input necessary data when executing the installation. The silent installation described above is a method of automating the installation by previously describing data as an alternative to the input in a response file instead of inputting the data from the user interface.
しかしながら、前述したように、複数の環境、複数のサーバー、複数のアプリケーションなど、様々なバリエーションが存在する状況下においては、これらのインストール自動化方法を適用しようとすると以下の課題がある。同じアプリケーションでも、複数の環境に別々に配置する場合、その環境に応じたアプリケーション設定を施す必要がある。そのため、自動インストールを実施しようとすると、バリエーションの数だけ応答ファイルを作成・準備する必要があり、これらのメンテナンスが手間になる。また、各サーバーとそのサーバーに対応した応答ファイルを適切に指定して使用する必要があり、これを間違えてしまうと、意図しないアプリケーションがサーバーに配置されてしまうという失敗が発生しうる。 However, as described above, under various circumstances such as a plurality of environments, a plurality of servers, a plurality of applications, and the like, there are the following problems when trying to apply these installation automation methods. Even if the same application is arranged separately in a plurality of environments, it is necessary to make application settings according to the environment. Therefore, if automatic installation is to be performed, it is necessary to create and prepare response files corresponding to the number of variations, and this maintenance is troublesome. In addition, it is necessary to appropriately specify and use each server and a response file corresponding to the server, and if this is mistaken, a failure that an unintended application is arranged on the server may occur.
上記の課題を解決するため、本発明のシステムは以下のような構成を有する。 In order to solve the above problems, the system of the present invention has the following configuration.
デプロイ開始の入力手段(S1101)と、実行対象のホスト名を取得する手段(S1102)と、前記ホスト名から環境種別およびサーバー種別を特定する手段(S1105、901)と、前記サーバー種別からデプロイ対象アプリケーションを特定する手段(S1106、921)と、前記デプロイ対象アプリケーションのデプロイ・フラグからデプロイ実施アプリケーションを特定する手段(S1109、S1110、933)と、前記デプロイ実施アプリケーションを宛先フォルダーに配置する手段(S1112)と、前記特定された環境種別に応じたアプリケーション設定ファイルを宛先フォルダーに配置する手段(S1113)を備えたデプロイメント方法およびプログラム。 Deployment start input means (S1101), execution target host name acquisition means (S1102), environment type and server type identification means (S1105, 901) from the host name, and deployment target from the server type Means for identifying an application (S1106, 921), means for identifying a deployment application from the deployment flag of the application to be deployed (S1109, S1110, 933), and means for placing the deployment application in a destination folder (S1112) ) And means (S1113) for arranging an application setting file corresponding to the specified environment type in a destination folder.
請求項1に記載のデプロイメント方法およびプログラムによれば、デプロイ作業時の人的なミスを削減することが可能、また、環境種別ごとの環境依存変数が一元的に管理可能で、メンテナンスが容易となる。 According to the deployment method and program of claim 1, it is possible to reduce human mistakes during the deployment work, and it is possible to manage environment dependent variables for each environment type in a unified manner, and maintenance is easy. Become.
図1〜図3を用いて、本発明が解決しようとする特有の課題をより詳細に説明する。 The specific problem to be solved by the present invention will be described in more detail with reference to FIGS.
図1は、あるサブシステムにおけるサーバー群へのアプリケーション配置を示している。101はサブシステム全体である。111〜115はサーバーである。121〜123、131〜133および141は、各アプリケーションである。例えば、111および112は、Webサーバーの役割を担当しており、アプリケーション01, 02, 03が配置されている。同様に、113および114は、WebServiceサーバーであり、アプリケーション11, 12, 13が配置されている。同様に、115はBatchサーバーであり、アプリケーション21が配置されている。 FIG. 1 shows application placement on a server group in a certain subsystem. Reference numeral 101 denotes the entire subsystem. Reference numerals 111 to 115 denote servers. Reference numerals 121 to 123, 131 to 133, and 141 denote applications. For example, 111 and 112 are responsible for the role of the Web server, and applications 01, 02, and 03 are arranged. Similarly, 113 and 114 are WebService servers, and applications 11, 12, and 13 are arranged therein. Similarly, 115 is a Batch server, and the application 21 is arranged.
図2は、複数の環境が複数のサブシステムとして存在していることを示す図である。201〜204は、各サブシステムである。環境を識別するため、DV1, DV2, EV1, EV2などの環境種別を示す名称が与えられている。 FIG. 2 is a diagram showing that a plurality of environments exist as a plurality of subsystems. Reference numerals 201 to 204 denote each subsystem. In order to identify the environment, a name indicating the environment type such as DV1, DV2, EV1, EV2 is given.
図3は、アプリケーションを構成するファイル群の構成例を示している。301は、アプリケーションを格納するファイルシステム上のフォルダーである。311は、アプリケーションの実行ファイルである。312は、アプリケーションのライブラリファイルである。313は、アプリケーションの設定ファイルである。321および322は、設定ファイル313の設定内容を示している。321は、EV1用の設定であり、322はEV2用の設定である。例えば、アプリケーションが通信機能で使用する接続先サーバーのアドレス情報や、リンク先のURL情報、データベース接続情報など、環境ごとに変更が必要な設定値の例が示されている。 FIG. 3 shows a configuration example of a file group constituting an application. Reference numeral 301 denotes a folder on the file system for storing applications. Reference numeral 311 denotes an application execution file. Reference numeral 312 denotes an application library file. Reference numeral 313 denotes an application setting file. Reference numerals 321 and 322 denote setting contents of the setting file 313. 321 is a setting for EV1, and 322 is a setting for EV2. For example, examples of setting values that need to be changed for each environment, such as address information of a connection destination server used by an application for a communication function, link destination URL information, and database connection information are shown.
まず、図1で示したように、複数のサーバー種別が存在し、サーバー種別ごとに配置すべきアプリケーションが異なる。さらに、図2で示したように、複数の環境種別が存在する。そして、図3に示したように、各アプリケーションには、環境ごとに設定変更が必要な、設定ファイルが含まれる。まず、ここまででサーバー種別数×環境種別数のアプリケーション配置バリエーションが存在することが分かる。 First, as shown in FIG. 1, there are a plurality of server types, and the application to be arranged is different for each server type. Furthermore, as shown in FIG. 2, there are a plurality of environment types. As shown in FIG. 3, each application includes a setting file that needs to be changed for each environment. First, it can be seen that there are application placement variations of the number of server types × the number of environment types.
さらに、インターネットに公開するサービスの特性として、機能追加やデメリット修正などの目的で、定期的にサブシステム単位でバージョンアップをするのが通例である。また、開発途中のバージョンをデバッグ・テストなどを行う目的で、開発環境やテスト環境に配備する必要もある。しかしながら、バージョンアップを行う際、入れ替えが必要となるアプリケーションは、変更が実施されたアプリケーションのみである。つまり、図1における多数のアプリケーションのうち、バージョンごとに入れ替え対象アプリケーションが異なる。前述した、サーバー種別数×環境種別数のアプリケーション配置バリエーションに加え、バージョンごとのバリエーションが加わることにより、よりメンテナンスの複雑さが増すことになる。 In addition, as a characteristic of a service to be disclosed on the Internet, it is usual to periodically upgrade the version on a subsystem basis for the purpose of adding functions or correcting disadvantages. In addition, it is necessary to deploy the version under development to a development environment or test environment for the purpose of debugging and testing. However, the application that needs to be replaced when performing version upgrade is only the application that has been changed. That is, among the many applications in FIG. 1, the replacement target application is different for each version. In addition to the application arrangement variation of the number of server types × the number of environment types described above, the variation for each version is added, so that the complexity of maintenance is further increased.
もし、インストーラを作成することにより、これらのバリエーションをサポートしようとすると、サーバー種別数×環境種別数の応答ファイルの準備が必要となる。また、バージョンごとに、インストール対象アプリケーションを指定し直して、インストーラの再ビルドを行う必要がある。すなわち、これらのバリエーションの多さに対し、インストーラの応答ファイルのメンテナンス、インストール対象アプリケーションの再指定、インストーラの再ビルドなど、多大なメンテナンスの手間がかかるという課題がある。 If it is intended to support these variations by creating an installer, it is necessary to prepare a response file of the number of server types × the number of environment types. In addition, it is necessary to rebuild the installer by respecifying the installation target application for each version. That is, there is a problem that a great deal of maintenance work such as maintenance of the response file of the installer, redesignation of the installation target application, rebuilding of the installer, etc. is required for many of these variations.
以下、本発明を実施するための最良の形態について図面を用いて説明する。 The best mode for carrying out the present invention will be described below with reference to the drawings.
図4は、本発明を実施するためのネットワーク構成の一例を示している。401はインターネットあるいはイントラネットを示すネットワークである。402はルータやスイッチなど、ネットワークどうしを接続するネットワーク機器である。403はネットワーク間の通信許可の制御を行うファイアウォールである。404はLAN(Local Area Network)である。405および406はサーバーコンピューターである。407はハイパーバイザーであり、コンピューターの仮想化を行う。408は仮想マシンであり、ハーパーバイザー407上で動作する。409はクライアントコンピューターである。クライアントコンピューター409は、ネットワーク接続を経由して、サーバーコンピュータ405や仮想マシン408で実行されているWebサーバーやアプリケーションサーバーにアクセスできる。410は、アプリケーションをビルドするためのサーバーコンピューターである。411は、ビルドサーバー410に接続し、アプリケーションのソースコードをコミットしたり、ビルド結果を取得したりするために用いるクライアントコンピューターである。 FIG. 4 shows an example of a network configuration for carrying out the present invention. Reference numeral 401 denotes a network indicating the Internet or an intranet. Reference numeral 402 denotes a network device for connecting networks such as a router and a switch. A firewall 403 controls communication permission between networks. Reference numeral 404 denotes a LAN (Local Area Network). Reference numerals 405 and 406 denote server computers. Reference numeral 407 denotes a hypervisor, which performs computer virtualization. Reference numeral 408 denotes a virtual machine that operates on the harper visor 407. Reference numeral 409 denotes a client computer. The client computer 409 can access a Web server or an application server running on the server computer 405 or the virtual machine 408 via a network connection. Reference numeral 410 denotes a server computer for building an application. Reference numeral 411 denotes a client computer that is connected to the build server 410 and is used for committing the source code of the application and acquiring a build result.
図5は、サーバーコンピューター405、410、仮想マシン408、クライアントコンピューター409、411の情報処理機能の論理構成を示している。501はユーザーインターフェースであり、ディスプレイ、キーボード、マウスなどによる、情報の入出力を行う。これらのハードウェアを備えないコンピューターは、リモートデスクトップなどにより、他のコンピューターから接続・操作することも可能である。502はネットワークインターフェースであり、LANなどのネットワークに接続して、他のコンピューターやネットワーク機器との通信を行う。504は組込済みプログラムおよびデータが記録されているROMである。505が一時メモリ領域であるRAMである。506はHDDに代表されるような二次記憶装置である。503はCPUであり、ROM504、RAM505、二次記憶装置506などから読み込んだプログラムを実行する。各部は入出力インターフェース507を介して接続されている。 FIG. 5 shows a logical configuration of information processing functions of the server computers 405 and 410, the virtual machine 408, and the client computers 409 and 411. A user interface 501 inputs and outputs information using a display, a keyboard, a mouse, and the like. Computers without these hardware can be connected and operated from other computers by remote desktop or the like. A network interface 502 is connected to a network such as a LAN and communicates with other computers and network devices. Reference numeral 504 denotes a ROM in which an embedded program and data are recorded. Reference numeral 505 denotes a RAM which is a temporary memory area. Reference numeral 506 denotes a secondary storage device represented by an HDD. A CPU 503 executes a program read from the ROM 504, RAM 505, secondary storage device 506, and the like. Each unit is connected via an input / output interface 507.
図6は、ビルドサーバー410の内部構成を示している。601は、開発したアプリケーションのソースファイル602を格納するリポジトリである。611は、オペレーティングシステム上のファイルシステムである。612は、ファイルシステム611上に出力されたアプリケーション・ファイル群である。621はビルドツール、622はプログラム(1)である。 FIG. 6 shows the internal configuration of the build server 410. Reference numeral 601 denotes a repository that stores a source file 602 of the developed application. Reference numeral 611 denotes a file system on the operating system. Reference numeral 612 denotes an application file group output on the file system 611. Reference numeral 621 denotes a build tool, and 622 denotes a program (1).
クライアントコンピューター409上で開発されたアプリケーションのソースファイルは、リポジトリ601内に、ソースファイル602として格納される。ビルドツール621にて、アプリケーションのビルドを実行すると、ソースファイル602がコンパイルされて、アプリケーションの実行ファイルなど、最終成果物のアプリケーション・ファイル群612が出力される。 A source file of an application developed on the client computer 409 is stored as a source file 602 in the repository 601. When the build of the application is executed by the build tool 621, the source file 602 is compiled, and an application file group 612 of the final product such as an application execution file is output.
図7は、環境依存変数を格納するテーブル701を示している。711がキー列、712が値列である。 FIG. 7 shows a table 701 for storing environment dependent variables. Reference numeral 711 denotes a key string, and 712 denotes a value string.
図3にて示したように、アプリケーション設定ファイル313は、複数の環境で正しく動作させるためには、その環境用の設定値を設定する必要がある。プログラム(1)622は、アプリケーション・ファイル群612内の設定ファイルを検索し、環境依存変数をテーブル701から取得し、設定ファイル313に埋め込む。例えば、設定ファイルのオリジナルが、App01.configであるとする。オリジナルの設定ファイル内には、環境依存変数を識別するために、targetServer=%_targetServer%としておく。プログラム(1)622実行時に、全ての環境に対して、%_targetServer%の文字列部をテーブル701から取得した環境依存変数に置き換える。例えば、テーブル701は、テスト1環境用の変数が格納されてあり、オリジナルのApp01.config内の置換対象文字列部を、値列712の値で置き換えて、App01.config.EV1というテスト1環境用の設定ファイルを出力する。このテーブル701を環境種別の分用意しておき、同様に、他の環境用の設定ファイルも出力する。例えば、テスト2環境用の設定ファイルは、App01.config.EV2といった具合である。 As shown in FIG. 3, the application setting file 313 needs to set setting values for the environment in order to operate correctly in a plurality of environments. The program (1) 622 searches for a setting file in the application file group 612, acquires environment-dependent variables from the table 701, and embeds them in the setting file 313. For example, assume that the original configuration file is App01.config. In the original configuration file, targetServer =% _ targetServer% is set to identify environment dependent variables. When the program (1) 622 is executed, the character string portion of% _targetServer% is replaced with the environment dependent variable acquired from the table 701 for all environments. For example, the table 701 stores variables for the test 1 environment. The replacement target character string portion in the original App01.config is replaced with the value in the value column 712, and the test 1 environment named App01.config.EV1 is stored. Output the configuration file. This table 701 is prepared for each environment type, and similarly, setting files for other environments are also output. For example, the configuration file for the test 2 environment is App01.config.EV2.
図8は、サーバー405、408の内部構成を示している。831は、サーバーのオペレーティングシステム上のファイルシステムである。832は、ファイルシステム831上のフォルダーである。832は、ビルドツール621、プログラム(1)622によって出力されたアプリケーション・ファイル群(1)612を一時的に配置しておくフォルダーである。833は、ファイルシステム831上のフォルダーである。833は、デプロイ対象アプリケーションの配置先であり、単数または複数のフォルダーから成る。834は、アプリケーション・ファイル群(2)である。アプリケーション・ファイル群(2)834は、サーバー405、408上で実行され、アプリケーションの機能を提供する。835は、プログラム(2)である。 FIG. 8 shows the internal configuration of the servers 405 and 408. 831 is a file system on the operating system of the server. Reference numeral 832 denotes a folder on the file system 831. Reference numeral 832 denotes a folder in which the application file group (1) 612 output by the build tool 621 and the program (1) 622 is temporarily arranged. Reference numeral 833 denotes a folder on the file system 831. Reference numeral 833 denotes an arrangement destination of the deployment target application, which includes one or a plurality of folders. Reference numeral 834 denotes an application file group (2). The application file group (2) 834 is executed on the servers 405 and 408 and provides application functions. Reference numeral 835 denotes the program (2).
図9は、プログラム(2)835が使用するテーブル901および921を示している。911はホスト名列である。912は環境種別列である。913はサーバー種別列である。テーブル901を参照することにより、特定のホスト名を持つサーバーが、どの環境に所属していて、どのサーバー種別であるかが判別できる。931はサーバー種別列である。932はアプリケーション列である。933はデプロイフラグ列である。テーブル921を参照することにより、あるサーバー種別のサーバーに対して、配置が必要なアプリケーションがアプリケーション列932から特定できる。また、それらのアプリケーションが今回のバージョンにおいて、デプロイ対象であるか否かが、デプロイ・フラグ列933から判定できる。 FIG. 9 shows tables 901 and 921 used by the program (2) 835. Reference numeral 911 denotes a host name string. Reference numeral 912 denotes an environment type column. Reference numeral 913 denotes a server type column. By referring to the table 901, it is possible to determine to which environment a server having a specific host name belongs and which server type. Reference numeral 931 denotes a server type column. Reference numeral 932 denotes an application column. Reference numeral 933 denotes a deployment flag string. By referring to the table 921, an application that needs to be arranged can be identified from the application column 932 for a server of a certain server type. Further, it can be determined from the deployment flag column 933 whether or not those applications are targets of deployment in the current version.
図10は、プログラム(2)835が使用するテーブル1001を示している。1011はアプリケーション列である。1012はオリジナルファイル格納フォルダー列である。1012は、フォルダー832以下のいずれかのフォルダーに相当する。1013は宛先フォルダー列である。1013は、フォルダー833以下のいずれかのフォルダーに相当する。1014はアプリケーション設定ファイル列である。1014は、オリジナルのアプリケーション設定ファイルのファイル名を示している。1015は環境別アプリケーション設定ファイル列である。1015は、%suffix%の部分を、環境種別EV1, EV2などと置き換えることにより、環境種別ごとの設定ファイルのファイル名を示している。例えば、App01.config.EV1, App01.config.EV2などである。 FIG. 10 shows a table 1001 used by the program (2) 835. Reference numeral 1011 denotes an application string. Reference numeral 1012 denotes an original file storage folder string. Reference numeral 1012 corresponds to any one of folders 832 and lower. Reference numeral 1013 denotes a destination folder string. Reference numeral 1013 corresponds to one of the folders 833 and below. Reference numeral 1014 denotes an application setting file sequence. Reference numeral 1014 denotes the file name of the original application setting file. Reference numeral 1015 denotes an environment-specific application setting file string. Reference numeral 1015 indicates the file name of the setting file for each environment type by replacing the% suffix% portion with the environment types EV1, EV2, and the like. For example, App01.config.EV1, App01.config.EV2, etc.
図11が、プログラム(2)835によるアプリケーション・デプロイ実行のフローを示したフローチャートである。プログラム(2)835をサーバー405あるいは408上で実行すると、まずデプロイを開始するかの選択入力を受け付ける(S1101)。デプロイをキャンセルした場合、ユーザーに中断を通知して、プログラムを終了する(S1108)。デプロイ開始を指示した場合、プログラム(2)835は、オペレーティングシステムに問い合わせ、サーバー405または408のホスト名を取得する(S1102)。次に、テーブル901を検索し、取得済みのホスト名に一致するレコードを取得する(S1103)。 FIG. 11 is a flowchart showing a flow of application / deployment execution by the program (2) 835. When the program (2) 835 is executed on the server 405 or 408, a selection input for starting deployment is first received (S1101). When the deployment is canceled, the interruption is notified to the user and the program is terminated (S1108). When the start of deployment is instructed, the program (2) 835 inquires the operating system and acquires the host name of the server 405 or 408 (S1102). Next, the table 901 is searched, and a record matching the acquired host name is acquired (S1103).
一致するレコードが取得できなかった場合、ユーザーに中断を通知して、プログラムを終了する(S1108)。一致するレコードが取得できた場合、レコードから該当ホスト名のサーバーが所属する環境種別およびサーバー種別を取得する(S1105)。取得したサーバー種別から、さらにテーブル921を検索し、該当サーバー種別に対して、デプロイ対象アプリケーションの一覧を取得する(S1106)。デプロイ対象アプリケーションが1つもない場合、ユーザーに中断を通知して、プログラムを終了する(S1108)。 If no matching record is obtained, the user is notified of the interruption and the program is terminated (S1108). If a matching record can be acquired, the environment type and server type to which the server of the corresponding host name belongs are acquired from the record (S1105). The table 921 is further searched from the acquired server types, and a list of applications to be deployed is acquired for the corresponding server types (S1106). If there is no application to be deployed, the interruption is notified to the user and the program is terminated (S1108).
次にデプロイ対象アプリケーション数を判定する(S1107)。デプロイ対象アプリケーションが1つ以上ある場合、各アプリケーションに対して、以下のループ処理を実行する。まず、1つ目のアプリケーションに対するデプロイ・フラグをデプロイ・フラグ列933から取得する(S1109)。取得したデプロイ・フラグを判定する(S1110)。デプロイ・フラグが0と判定された場合、何も処理を行わずに、次のループ処理を続行する。デプロイ・フラグが1と判定された場合、該当アプリケーションの配置情報をテーブル1001から取得する(S1111)。オリジナル格納フォルダー列1012および宛先フォルダー列1013から、アプリケーションファイルのコピー元および宛先を特定し、宛先フォルダーにアプリケーションファイルを配置する(S1112)。 Next, the number of deployment target applications is determined (S1107). When there are one or more deployment target applications, the following loop processing is executed for each application. First, a deployment flag for the first application is acquired from the deployment flag column 933 (S1109). The acquired deployment flag is determined (S1110). When the deployment flag is determined to be 0, the next loop process is continued without performing any process. When the deployment flag is determined to be 1, the placement information of the application is acquired from the table 1001 (S1111). The copy source and destination of the application file are specified from the original storage folder column 1012 and the destination folder column 1013, and the application file is arranged in the destination folder (S1112).
さらに、環境種別列912から特定されている環境種別用の設定ファイルをオリジナルファイルと同名にリネームし、宛先フォルダーに配置する(S1113)。例えば、ホスト名が「ev1web01」の場合、環境種別が「EV1」であるので、用意済みのApp01.config.EV1をApp01.configにリネームして、宛先フォルダーに配置する。これにより、環境種別を自動判定して、該当の環境種別に必要な環境依存変数を自動設定することが可能となる。 Furthermore, the setting file for the environment type specified from the environment type column 912 is renamed to the same name as the original file and placed in the destination folder (S1113). For example, when the host name is “ev1web01”, the environment type is “EV1”, so the prepared App01.config.EV1 is renamed to App01.config and placed in the destination folder. As a result, it is possible to automatically determine the environment type and automatically set the environment dependent variables necessary for the corresponding environment type.
2つ目以降のアプリケーションに対しても、同様にループ処理を実行する。最後に、配置済みアプリケーション配置情報とオリジナルアプリケーション情報の比較処理を行う(S1114)。例えば、アプリケーションファイルのファイル名、タイムスタンプ情報、バージョン情報などを比較し、両者が一致するかなどを確認して、正しいファイルが宛先フォルダーに配置されたことを検証する。比較結果が正しい場合、ユーザーに成功を通知して、プログラムを終了する(S1116)。比較結果が正しくない場合、ユーザーにエラーを通知して、プログラムを終了する(S1117)。 The loop processing is executed in the same manner for the second and subsequent applications. Finally, a comparison process between the arranged application arrangement information and the original application information is performed (S1114). For example, the file name, time stamp information, version information, and the like of the application file are compared to check whether they match, and verify that the correct file has been placed in the destination folder. If the comparison result is correct, the user is notified of success and the program is terminated (S1116). If the comparison result is not correct, an error is notified to the user and the program is terminated (S1117).
図12は、ビルド実行時のフローチャートである。アプリケーションが継続的にバージョンアップされることに鑑みて、ビルドサーバー410で新しいバージョンのビルドを実行する際に、ソースファイル602に変更があったアプリケーションのみ、デプロイ・フラグ933に「1」を設定する手段を用意する。まず、ビルドツール621でビルドを実行する(S1201)。この際、差分ビルドを適用すれば、変更があったアプリケーションのみがビルドされる。 FIG. 12 is a flowchart when executing a build. Considering that the application is continuously upgraded, when the build server 410 executes a build of a new version, only the application whose source file 602 has been changed is set to “1” in the deployment flag 933. Prepare a means. First, the build is executed by the build tool 621 (S1201). At this time, if a differential build is applied, only the application that has changed is built.
以降、各アプリケーションに対して、以下のループ処理を実行する。まず、アプリケーションの変更有無を判定する(S1202)。変更有の場合、テーブル921のデプロイ・フラグ933に「1」をセットする(S1203)。変更無の場合、テーブル921のデプロイ・フラグ933に「0」をセットする(S1204)。アプリケーションの数だけ、ループ処理を繰り返す。このデプロイ・フラグの自動更新手段により、アプリケーションのバージョンアップ時のデプロイ実施時に、変更のあったアプリケーションのみを入れ替え可能となる。 Thereafter, the following loop processing is executed for each application. First, it is determined whether or not an application has been changed (S1202). If there is a change, “1” is set to the deployment flag 933 of the table 921 (S1203). If there is no change, “0” is set to the deployment flag 933 of the table 921 (S1204). Repeat the loop process for the number of applications. By means of this automatic update means of the deployment flag, it is possible to replace only the application that has been changed when the deployment is performed when the application is upgraded.
以上、説明したデプロイ方法及びプログラムによれば、環境別に管理すべき情報が、テーブル701、901および921に集約されるので、メンテナンスが容易となる。また、デプロイ作業者は、プログラム(2)835に、デプロイ実施を指示するだけで、環境種別、サーバー種別を自動判定して、対象アプリケーションが自動配置されるので、人的な作業ミスをなくすことが可能となる。 As described above, according to the deployment method and program described above, the information to be managed for each environment is collected in the tables 701, 901, and 921, so that maintenance is facilitated. In addition, the deployer automatically determines the environment type and the server type by simply instructing the program (2) 835 to execute the deployment, and the target application is automatically arranged, thus eliminating human work mistakes. Is possible.
101 サブシステム全体
111〜115 サーバー
121〜123、131〜133および141 アプリケーション
101 Subsystem 111-115 Servers 121-123, 131-133 and 141 Applications
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013035379A JP2014164545A (en) | 2013-02-26 | 2013-02-26 | Deployment method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013035379A JP2014164545A (en) | 2013-02-26 | 2013-02-26 | Deployment method and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014164545A true JP2014164545A (en) | 2014-09-08 |
Family
ID=51615088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013035379A Pending JP2014164545A (en) | 2013-02-26 | 2013-02-26 | Deployment method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014164545A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109672722A (en) * | 2018-10-23 | 2019-04-23 | 平安科技(深圳)有限公司 | Data deployment method and device, computer storage medium and electronic equipment |
JP2019091415A (en) * | 2017-11-13 | 2019-06-13 | キヤノンマーケティングジャパン株式会社 | Program, information processing apparatus, and processing method thereof |
JP2020135190A (en) * | 2019-02-15 | 2020-08-31 | 沖電気工業株式会社 | Software installation method of computer and installation server |
-
2013
- 2013-02-26 JP JP2013035379A patent/JP2014164545A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019091415A (en) * | 2017-11-13 | 2019-06-13 | キヤノンマーケティングジャパン株式会社 | Program, information processing apparatus, and processing method thereof |
JP7231812B2 (en) | 2017-11-13 | 2023-03-02 | キヤノンマーケティングジャパン株式会社 | Information processing system, processing method and program |
CN109672722A (en) * | 2018-10-23 | 2019-04-23 | 平安科技(深圳)有限公司 | Data deployment method and device, computer storage medium and electronic equipment |
JP2020135190A (en) * | 2019-02-15 | 2020-08-31 | 沖電気工業株式会社 | Software installation method of computer and installation server |
JP7172703B2 (en) | 2019-02-15 | 2022-11-16 | 沖電気工業株式会社 | COMPUTER SOFTWARE INSTALLATION METHOD AND INSTALLATION SERVER |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109286653B (en) | Intelligent cloud engineering platform | |
US10095499B2 (en) | Optimization for multi-project package manager | |
CN107967159B (en) | Method for configuring file application and server | |
Terstyanszky et al. | Enabling scientific workflow sharing through coarse-grained interoperability | |
US10901804B2 (en) | Apparatus and method to select services for executing a user program based on a code pattern included therein | |
US9690558B2 (en) | Orchestrating the lifecycle of multiple-target applications | |
JP6673359B2 (en) | System construction support system, method and program | |
US8756407B2 (en) | Configuration rule prototyping tool | |
KR102214139B1 (en) | Management system for cloud infrastructure template | |
US20210216302A1 (en) | Web ui automation maintenance tool | |
WO2020015191A1 (en) | Business rule releasing and managing method, electronic device and readable storage medium | |
CN103577165A (en) | Form generation method and form generator | |
KR102397494B1 (en) | Low code web development and operating system, and service method using of it | |
CN103186376A (en) | Method, device and equipment for establishing or updating software development environment | |
Caballer et al. | A platform to deploy customized scientific virtual infrastructures on the cloud | |
US9350596B2 (en) | On-demand tethered greedy virtual application appliance | |
Cai et al. | A pattern-based code transformation approach for cloud application migration | |
US10042631B2 (en) | System and method for automated content and software migration | |
CN107608672A (en) | A kind of UI module managements, UI module management methods and system | |
JP2014164545A (en) | Deployment method and program | |
US20210271458A1 (en) | Managing an app method and system | |
US9606775B2 (en) | Developing rich internet application | |
JP6705482B2 (en) | System construction parameter management device, system construction parameter management system, system construction parameter management method, and system construction parameter management program | |
KR101527578B1 (en) | Software development apparatus and method | |
CN103917944A (en) | System and methods thereof for dynamically updating the contents of a folder on a device |