JP2022149153A - 工事実行管理装置、工事実行管理方法、及びプログラム - Google Patents

工事実行管理装置、工事実行管理方法、及びプログラム Download PDF

Info

Publication number
JP2022149153A
JP2022149153A JP2021051172A JP2021051172A JP2022149153A JP 2022149153 A JP2022149153 A JP 2022149153A JP 2021051172 A JP2021051172 A JP 2021051172A JP 2021051172 A JP2021051172 A JP 2021051172A JP 2022149153 A JP2022149153 A JP 2022149153A
Authority
JP
Japan
Prior art keywords
construction
execution
information
ticket number
work
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.)
Granted
Application number
JP2021051172A
Other languages
English (en)
Other versions
JP7189251B2 (ja
Inventor
文隆 谷口
Fumitaka Taniguchi
詩帆 國正
Shiho Kunimasa
貴之 鈴木
Takayuki Suzuki
千賀子 桐田
Chikako Kirita
健太 前田
Kenta Maeda
紘平 小川
Kohei Ogawa
鷹太郎 林
Takataro Hayashi
智行 浦畑
Satoyuki Urahata
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Communications Corp
Original Assignee
NTT Communications Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NTT Communications Corp filed Critical NTT Communications Corp
Priority to JP2021051172A priority Critical patent/JP7189251B2/ja
Publication of JP2022149153A publication Critical patent/JP2022149153A/ja
Application granted granted Critical
Publication of JP7189251B2 publication Critical patent/JP7189251B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】ソフトウェアを工事対象装置にデプロイする工事を効率的に行う。【解決手段】工事対象装置に対してソフトウェアをデプロイする工事を実行する工事実行管理装置において、前記工事対象装置から設定情報を取得する情報取得部と、記憶手段に格納されている工事資材に前記設定情報を反映させる情報管理部と、前記設定情報を反映させた工事資材を用いて前記工事対象装置に対する工事を実行する工事実行部とを備える。【選択図】図2

Description

本発明は、機器に対してソフトウェアをデプロイする技術に関連するものである。
ソフトウェア開発の手法の一つにCI/CDがある。CI/CDとは「Continuous Integration/Continuous Delivery」の略であり、日本語では継続的インティグレーション/継続的デリバリーという。
CI/CDは1つの技術を指すものでなく、ソフトウェアの変更を常にテストして自動で本番環境にリリース可能な状態にしておく、ソフトウェア開発の手法を意味する。また「CD」は「Continuous Deployment(継続的デプロイ)」の略として使われることもある。継続的デプロイは継続的デリバリーとよく似た概念であるが、継続的デリバリーがデプロイ可能な状態を準備するだけなのに対し、継続的デプロイは実際に本番環境へのデプロイまでを行う点が異なる。
https://www.ntt-tx.co.jp/column/cloudnative_days_tokyo_2019cicd/、令和3年3月21日検索
「Continuous Deployment(継続的デプロイ)」に関して、ソフトエアを商用環境へデプロイする際には、IPアドレス等といったConfig情報をソフトウェアのコードに埋め込む。しかし、Config情報はユーザごとに異なるためデプロイ時において適切な値を手動でコードに埋め込む必要があり、大きな手間がかかる。
また、ユーザの業務を停滞させないようにするために、トラブルが発生しても決められた時間内にデプロイ、もしくは切り戻しを完了させる必要があるが、ある処理でエラーになった場合のエラー箇所の特定や再実行時の冪等性確保等において、処理時間の重複があり、時間が余計にかかる。
また、工事後に問題が起きた際に迅速な解析を進めるために、履歴管理として、例えば工事実施時のユーザごとのconfig値、工事実行履歴を手動でユーザごとのフォルダに格納することが考えられる。しかし、このような手法では、工事中に変更した内容を都度反映し確認が必要となり、解析に時間を要する。
すなわち、従来技術においては、ソフトウェアを工事対象装置にデプロイする工事を効率的に行うことができなかった。
本発明は上記の点に鑑みてなされたものであり、ソフトウェアを工事対象装置にデプロイする工事を効率的に行うことを可能とする技術を提供することを目的とする。
開示の技術によれば、工事対象装置に対してソフトウェアをデプロイする工事を実行する工事実行管理装置であって、
前記工事対象装置から設定情報を取得する情報取得部と、
記憶手段に格納されている工事資材に前記設定情報を反映させる情報管理部と、
前記設定情報を反映させた工事資材を用いて前記工事対象装置に対する工事を実行する工事実行部と
を備える工事実行管理装置が提供される。
開示の技術によれば、ソフトウェアを工事対象装置にデプロイする工事を効率的に行うことを可能とする技術が提供される。
本発明の実施の形態におけるシステムの全体構成図である。 工事実行管理装置の構成図である。 処理の流れを説明するためのシーケンス図である。 工事資材格納装置に格納される情報の例を示す図である。 工事フローの例を図である。 工事フローの例を示す図である。 装置のハードウェア構成例を示す図である。
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
(システム構成例)
図1に、本実施の形態におけるシステムの全体構成例を示す。図1に示すように、本システムは、工事実行管理装置100、工事資材格納装置200、ユーザ端末300、工事対象装置400を有する。各装置はネットワークに接続されており、装置間で通信を行うことが可能である。
工事実行管理装置100は、本発明に係る技術を用いて工事対象装置400に対する工事を実行する。なお、本実施の形態において「工事」とは、ソフトウェアを工事対象装置400にデプロイする一連の工程のことである。工事実行管理装置100は、1つ又は複数の物理サーバ(コンピュータ)からなる装置であってもよいし、クラウド上の仮想マシンにより構成される装置であってもよい。
工事資材格納装置200は、工事に使用するソフトウェア等を格納する装置である。本実施の形態では、工事に使用するソフトウェア等のことを「工事資材」と呼んでいる。また、工事資材格納装置200には、工事ステータス等も格納される。工事資材格納装置200は、クラウド上のサービス(例:Git)であってもよいし、物理サーバであってもよい。また、工事資材格納装置200は、工事実行管理装置100内の記憶部であってもよい。以下の説明では、工事資材格納装置200は、Gitであることを想定している。工事資材格納装置200を記憶手段と呼んでもよい。
ユーザ端末300は、例えば工事対象装置400に対する工事の実施者の端末であり、工事実行管理装置100により提供されるGUIを表示し、ユーザからの操作を受け付け、ユーザ操作に基づく指示を工事実行管理装置100に送信する。
工事対象装置400は、ソフトウェアのデプロイを行う対象の装置である。工事対象装置400は、例えば、ユーザ(企業等)のネットワークサービスを提供する実機環境の装置である。図1に示すように、工事対象装置400は、ユーザ毎のグループに分けられている。本実施の形態では、各グループをテナント(略称はTN)と呼んでいる。図1の例では、3つのテナント(TN01、TN02、TN03)が示されている。
(工事実行管理装置の構成例)
図2に、工事実行管理装置100の機能構成例を示す。図2に示すように、工事実行管理装置100は、GUI部110、情報取得部120、情報管理部130、工事実行部140を有する。
GUI部110は、ユーザ端末300に対してGUIを表示する。なお、GUI部110は、工事実行管理装置100内のソフトウェアで動作する機能であってもよいし、Webサーバ等の装置であってもよい。
情報取得部120は、工事対象装置400からConfig情報(設定情報)等の情報を取得する。情報管理部130は、工事資材格納装置200におけるブランチのコピー、工事資材格納装置200からのソフトウェア(工事資材)の取得等を行うとともに、工事実施履歴(工事ステータス)等を工事資材格納装置200に格納する。
工事実行部140は、工事資材格納装置200から取得された工事資材を用いて、工事対象装置400に対する工事を実行する。また、工事実行部140は、工事が正常に行われたかどうかをチェックする機能も有する。
(動作シーケンス)
次に、図3を参照して、本実施の形態におけるシステムの動作シーケンス例を説明する。最初に、工事実行管理装置100のGUI部110により、ユーザ端末300上にGUIが表示されているものとする。このGUIには、例えば、工事種別と工事対象を入力(あるいは選択)する欄が含まれている。
工事種別には、例えば、ソフトウェアのアップグレード(「Verup」)、ソフトウェアを前のバージョンに戻す切り戻し(「downgrade」)等がある。また、本実施の形態において、工事対象はテナント単位であるものとする。つまり、工事対象として、工事するテナントが指定される。
図3のS101において、ユーザが、GUIを用いて工事種別と工事対象を指定することで、ユーザ端末300から工事実行管理装置100に対して工事の実行が指示される。ここでは、工事種別として「アップグレード」が指定されたことを想定している。
S101の指示により、工事実行管理装置100は、JOB1とJOB2を実行する。JOB1は、指定されたテナントの工事対象装置400からConfig情報を取得し、工事資材格納装置200におけるマスターのコードを複製(clone)し、Config情報を用いてカスタマイズし、指定されたテナントに対するGitのブランチを作成する手順である。JOB2は、指定されたテナントのブランチにおける工事資材を用いて、工事の実施、工事ステータスの更新、及び工事後の確認を実行する手順である。
図3では、S102~S104がJOB1として示されており、S105~S107がJOB2として示されている。以下、ステップ毎に説明する。
S102、S103において、工事実行管理装置100の情報取得部120は、指定されたテナントの工事対象装置400にConfig情報取得要求を送り、当該工事対象装置400からConfig情報を取得する。
S104において、情報管理部130は、S103で取得したConfig情報とともに、指定されたテナント用のブランチ作成指示を、工事資材格納装置200に送信する。これにより、工事資材格納装置200において、マスターのコードが複製され、指定されたテナント用のブランチが作成される。また、S103で取得したConfig情報の値が当該ブランチにおけるConfig情報に反映される。
ブランチは、データ(ここでは工事資材となるプログラムや設定情報)が格納されるディレクトリの構造を示している。図4に、工事資材格納装置200における、マスターのブランチと、マスターのブランチから作成された、指定されたテナント用のブランチの例を示す。
図4の例において、「(C)v2111_to_v2120」の配下のプログラムは、v2111からv2120へのアップグレード用のプログラムを示し、「(C)v2120_to_v2111」の配下のプログラムは、v2120からv2111への切り戻し用のプログラムである。
また、「構築ツール」の配下のプログラムは、工事(アップグレードや切り戻し)のためのプログラムを示し、「チェックツール」の配下のプログラムは、工事が正常に完了したかどうかをチェックするプログラムである。
工事対象装置400から取得したConfig情報の値は、図4における対象テナントのブランチの「hosts」、「Config」に反映される。具体的には、例えば、「hosts」、「Config」の変数部分に、工事対象装置400から取得したConfig情報の値を与える。
また、本実施の形態では、工事内容、及び工事工程を簡易に把握するために、1工事工程を1チケットとし、チケットシステムの番号で管理することとしている。この1チケットの中で「工事適用(upgrade)」と「切り戻し(downgrade)」それぞれの実施内容、工事資材作成の進捗管理を行い、工事工程管理をチケット番号毎に行う。それにより、工事資材作成、工事中、工事完了後、どのフェーズにおいても一元化されたチケット番号による内容の確認を可能としている。
図4の例では、各プログラム名に記載されている「2623」、「2913」等が、チケットシステムから払い出されたチケット番号の例である。
工事実行管理装置100は、指定されたテナントのブランチに格納されたプログラム及び設定情報等を利用して、指定されたテナントの工事対象装置400に対する工事及びチェック等を行う。
図3のS105において、工事実行管理装置100の情報管理部130は、工事資材格納装置200から、指定されたテナントのブランチの工事資材(プログラム、設定情報等)を取得する。S106において、工事実行部140は、上記工事資材を用いて、工事対象装置400に対する工事、及び工事が正常に完了したかの確認を行う。
S107において、情報管理部130は、工事の実施状況に基づいて、工事資材格納部200における工事ステータスの更新を行う。なお、工事ステータスは、対象テナントのブランチに格納される情報(ステータスファイル)である。
Job1によりカスタマイズされる設定情報ファイル(「hosts」、「Config」)と、Job2によって更新されるステータスファイルとは別々のファイルであり排他である。これにより、Job1が何度実行されてもステータス情報が上書きされない構成となっている。
図3を参照して説明したように、本実施の形態では、ユーザがGUIから工事種別と工事対象を指定して実行を指示するだけで、自動的にJob1の実行、及びJob1によって作成されたブランチを用いたJob2の実行を一連で行うことが可能である。
(工事フロー詳細)
次に、図5、及び図6のフローチャートを参照して、工事実行管理装置100が実行する工事フローの詳細例を説明する。ここでは、2623(チケット番号)でaaa(アプリケーション名)のupgradeを実施し、2913(チケット番号)でbbb(アプリケーション名)のupgradeを実施するとする。「upgrade」は2623→2913の順番で行い、「downgrade」は2913->2623の順番で行うとする。
<upgrade>
ユーザから、工事対象と工事種別が指定された後、図5のS201が開始される。S201において、情報取得部120が、Job1を実行する。すなわち、前述したとおり、対象のテナントの工事対象装置400から設定情報を取得するとともに、工事資材格納装置200において当該テナントのブランチを作成し、当該ブランチに、取得した設定情報を反映させる。
S202において、Verupを指定したJob2の実行が開始されると、情報管理部130は、指定されたテナントのブランチから、工事工程毎(チケット番号が1工程とする)の工事資材を取得する。本例では、「2623_up_aaa」、「2913_up_bbb」、及び工事実施対象のチケットの実施順序を記載したシナリオファイルが取得される。ここでは、実行順序は2623→2913の順になっている。
工事実行部140は、各工事工程(チケット番号)を実施する際に、情報管理部140を介して、まずその番号の工事ステータスを確認する。工事ステータスは、工事資材格納装置200における該当ブランチに格納されている。
工事ステータスは「Success」、「Fail」で管理されており、「Success」にチケット番号が設定されている場合は、そのチケット番号の工事を実施して成功したことを示し、「Fail」にチケット番号が設定されている場合は、そのチケット番号の工事を実施したが途中で失敗したことを示す。「Success」、「Fail」どちらにもチケット番号が設定されていない場合は、工事未実施であることを示す。
図5の場合、すなわち、「工事適用(upgrade)」の場合、工事ステータスを確認した結果、そのチケット番号が、「Success」に設定されていない、もしくは「Fail」に設定されている場合は、未実施または再実行必要と判断し、その工事の処理を実行する。そのチケット番号が「Success」に設定されている場合は、実施済みかつ成功と判断し、そのチケット番号の工事の処理をスキップする。
具体的には、図5のS203において、工事実行部140はまず、工事ステータスを確認する。2623が「Success」に設定されていれば次のチケット番号の工事に進み、2623が「Success」に設定されいない、又は、「Fail」に設定されている場合、S204に進み、upgradeの工事を実行する。工事が成功すれば、upgradeの工事ステータスの「Success」に2623を設定し、次のチケット番号の工事に進む。
工事が失敗した場合には、upgradeの工事ステータスの「Fail」に2623を設定し、S208に進む。
次のチケット番号(2913)の工事においても、S205、S206において、S203、S204と同様の処理が実行される。
ただし、ここでは、2913が最後のチケット番号なので、S205において、2913が「Success」にある場合に、S207に進み、工事が正常に完了したかどうかの確認を行い、そこで正常に完了したことが確認されれば工事を終了し、正常に完了したことが確認されなければS208に進む。
工事が失敗した場合、及び正常完了が確認されなかった場合に進むS208において、手動で失敗原因の確認を行う。なお、失敗原因の確認を行うツールを用いることでS208の処理を自動で行うこととしてもよい。
S208において、切り戻しを行うと判断した場合には、切り戻し処理(図6)に進み、失敗箇所の工事を再実行することで工事を継続すると判断した場合にはS202に戻る。このときのS202以降の再処理では、上述したロジックにより、「Success」にチケット番号が設定されている工事は実行されず、「Fail」にチケット番号が設定されている工事が実行される。従って、効率的に工事を実施できる。
なお、全てのチケット番号の工事の「Success」にチケット番号が設定されたが、S207における確認の結果、S208に進み、再実行に進んだ場合には、例えば、「Success」に設定されたチケット番号を削除してから再実行を行う。
<downgrade>
次に、図5において、切り戻しを行うと判断された場合における切り戻しの処理を、図6を参照して説明する。
S301において、切り戻し判断がなされた後、図6のS302が開始される。S302において、downgradeを指定したJob2の実行が開始されると、情報管理部130は、指定されたテナントのブランチから、downgradeにおける工事工程毎(チケット番号が1工程とする)の工事資材を取得する。本例では、「2913_down_bbb」、「2623_down_aaa」、、及び工事実施対象のチケットの実施順序を記載したシナリオファイルが取得される。ここでは、実行順序は2913→2623の順になっている。
upgradeの場合と同様に、工事実行部140は、各工事工程(チケット番号)を実施する際に、情報管理部140を介して、まずその番号の工事ステータスを確認する。図6の場合、すなわち、「切り戻し(downgrade)」の場合、そのチケット番号が、「Success」、もしくは「Fail」に設定されている場合は、切り戻しが必要と判断し、処理を実行する。「Success」、「Fail」どちらにもチケット番号が設定されていない場合は、未実施のため切り戻し不要と判断し、処理をスキップする。
具体的には、図6のS303において、工事実行部140はまず、工事ステータスを確認する。2913が「Success」と「Fail」のいずれにも設定されていなければ次のチケット番号の工事に進む。2913が「Success」又は「Fail」に設定されている場合、S304に進み、downgradeの工事を実行する。工事が成功すれば、downgradeの工事ステータスにおける2913を削除して、次のチケット番号の工事に進む。S304の工事が失敗した場合には、S308に進む。
次のチケット番号(2623)の工事においても、S305、S306において、S303、S304と同様の処理が実行される。
ただし、ここでは、2623が最後のチケット番号なので、S305において、2623が「Success」と「Fail」のいずれにもない場合に、S307に進み、工事が正常に完了したかどうかの確認を行い、そこで正常に完了したことが確認されれば工事を終了し、正常に完了したことが確認されなければS308に進む。
工事が失敗した場合、及び正常完了が確認されなかった場合に進むS308において、手動で失敗原因の確認を行う。なお、失敗原因の確認を行うツールを用いることでS308の処理を自動で行うこととしてもよい。
S308において、再実行不可と判断した場合には、S309において手動対応を行う。失敗箇所の工事を再実行することで工事を継続すると判断した場合にはS302に戻る。このときのS302以降の再処理では、上述したロジックにより、「Success」と「Fail」のいずれにもチケット番号が設定されていない工事は実行されず、「Success」又は「Fail」にチケット番号が設定されている工事が実行される。従って、効率的に工事を実施できる。
なお、「Success」と「Fail」のいずれにもチケット番号が設定されていないが、S307における確認の結果、S308に進み、再実行に進んだ場合には、例えば、「Success」と「Fail」のチケット番号を最初の状態(S301のときの状態)に戻してから工事の再実行を行う。
以下、図5と図6に示したロジックで工事を行う場合において生じ得る各パターンについて説明する。
<パターン1:2623と2913が成功する>
●工事種別「upgrade」の実行
・2623実行(成功)→「Success」に2623追加
・2913実行(成功)→「Success」に2913追加
それぞれのチケット番号が「Success」に設定され、無事に工事が終了する。
<パターン2:2623初回失敗、再実行成功、2913が成功>
●工事種別「upgrade」の実行
・2623実行(失敗)→「Fail」に2623追加
●失敗の原因を確認し、再実行OKの判断が下されたら、工事実施者は初回実行時と同じ実施方法で工事を実行する。
●工事種別「upgrade」の実行
・2623 実行(成功)→「Fail」から2623削除、「Success」に2623追加
・2913実行(成功)→「Success」に2913追加
最終的にはSuccessだけに全てのチケット番号が入り、無事に工事が終了する。
<パターン3:2623が成功、2913が失敗、再実行>
●工事種別「upgrade」の実行
・2623実行(成功)→「Success」に2623追加
・2913実行(失敗)→「Fail」に2913追加
●失敗の原因を確認し、再実行OKの判断が下されたら、工事実施者は初回実行時と同じ実施方法で工事を実行する
●工事種別「upgrade」の実行
・2623Skip
・2913実行(成功)→「Fail」から2913削除、「Success」に2913追加
最終的にはSuccessだけに全てのチケット番号が入り、無事に工事が終了する。
<パターン4:2623で失敗し、切り戻し実行>
●工事種別「upgrade」の実行
・2623実行(失敗)→「Fail」に2623追加
●失敗の原因を確認し、切り戻し判断が下されたら、工事実施者は、工事種別を「downgrade」に設定し、工事を実行する
●工事種別「downgrade」の実行
・2913Skip
・2623実行(成功)→「Fail」から2623削除
最終的に、全てのチケット番号がSuccess、Failのどちらにもない、切り戻し完了状態となる。
<パターン5:2623は成功したが、2913で失敗し切り戻し実行>
●工事種別「upgrade」の実行
・2623実行(成功)→「Success」に2623追加
・2913実行(失敗)→「Fail」に2913追加
●失敗の原因を確認し、切り戻し判断が下されたら、工事実施者は、工事種別を「downgrade」に設定し、工事を実行する
●工事種別「downgrade」の実行
・2913実行(成功)→「Fail」から2913削除
・2623実行(成功)→「Success」から2623削除
最終的に、全てのチケット番号がSuccess、Failのどちらにもない、切り戻し完了状態となる。
以上説明したように、本実施の形態では、工事実施者は「工事種別」と「工事対象」だけを指定して工事を実行することができる。そのため、途中で処理が失敗し、「再実行」または「切り戻し」実施になった場合でも、手動で実施内容の変更をすることなく、同じ手順で実行すれば良く、効率的な実行が可能である。
また、工事資材が冪等性(同じ操作を複数回行っても、実施後の結果は同じになること)を担保していたとしても、パターン3やパターン4のように、処理をスキップされることで、工事時間の短縮を実現できる。
また、工事後に実施内容を確認する際、ユーザごとのブランチを確認することで、「工事実施内容(Config,資材)」「工事実行結果(ステータス)」の確認を容易に行うことができる。
(ハードウェア構成例)
工事実行管理装置100は、例えば、コンピュータにプログラムを実行させることにより実現できる。このコンピュータは、物理的なコンピュータであってもよいし、クラウド上の仮想マシンであってもよい。
すなわち、工事実行管理装置100は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、工事実行管理装置100で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
図7は、上記コンピュータのハードウェア構成例を示す図である。図7のコンピュータは、それぞれバスBSで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。なお、これらのうち、一部の装置を備えないこととしてもよい。例えば、表示を行わない場合、表示装置1006を備えなくてもよい。
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、工事実行管理装置100に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられ、送信部及び受信部として機能する。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
(実施の形態のまとめ、効果)
以上説明したとおり、本実施の形態に係る技術には主に下記の3つのポイントがある。
(1)工事実行管理装置100は、オンデマンドにConfig情報を取得する機能と、マスターのコードを複製してカスタマイズする機能を備える。Config情報を取得する機能は、本番環境適用直前に実機環境から適用に必要な情報を自動取得する。複製&カスタマイズする機能はGitのマスターブランチのコードをコピー(clone)し、コピーされたコードの変数部分に前段で取得した実機環境の情報をConfigに与える。さらに、ユーザ環境ごとのブランチを作成することにより、ユーザごとに限定したConfig、工事履歴の管理を可能としている。
これらの機能により、マスターのコード管理に影響を与えず、個々のユーザにカスタマイズされた工事ツールを自動で作成できるため、稼働とヒューマンエラーを最小限にしながらも最適な自動工事が実施可能である。また、工事実施後に、工事履歴の確認を行う際も、手動を挟むことなくConfig生成から工事実施履歴の更新を行っているため、実際に工事を実施した正確な情報を、ユーザごとのブランチから瞬時に確認することを可能としている。
(2)デプロイ中の工程管理を自動で行うことにより、予期せぬエラーに対しても各コード工程のステータス管理により、エラー箇所の切り分け効率化と再実行時に自動でステータスを判定して必要な箇所から工事の開始や切り戻しができるため、予期せぬエラーが発生した場合の工事時間の短縮が可能となる。
(3)工事内容、及び工事工程を簡易に把握するために、1工事工程を1チケットとし、チケットシステムの番号で管理することとしている。この1チケットの中で「工事適用(upgrade)」と「切り戻し(downgrade)」それぞれの実施内容、工事資材作成の進捗管理を行い、工事工程管理をチケット番号毎に行う。それにより、工事資材作成、工事中、工事完了後、どのフェーズにおいても一元化されたチケット番号による内容の確認を可能としている。
以上より、工事準備稼働と工事中及び、工事管理のヒューマンエラーを0にし、所定時間内に工事を完了させることができるようになる。さらに、工事後に工事内容の確認を正確かつ迅速に実行できるようになる。
(付記)
本明細書には、少なくとも下記の各項に記載した工事実行管理装置、工事実行管理方法、及びプログラムが記載されている。
(第1項)
工事対象装置に対してソフトウェアをデプロイする工事を実行する工事実行管理装置であって、
前記工事対象装置から設定情報を取得する情報取得部と、
記憶手段に格納されている工事資材に前記設定情報を反映させる情報管理部と、
前記設定情報を反映させた工事資材を用いて前記工事対象装置に対する工事を実行する工事実行部と
を備える工事実行管理装置。
(第2項)
前記情報管理部は、前記記憶手段におけるマスターコードのブランチをコピーすることにより前記工事対象装置用のブランチを作成し、当該ブランチにおける工事資材に前記設定情報を反映させる
第1項に記載の工事実行管理装置。
(第3項)
前記工事資材を用いて行われる各工事工程にはチケット番号が付与されており、前記情報管理部は、前記チケット番号に基づいて工事ステータスを管理する
第1項又は第2項に記載の工事実行管理装置。
(第4項)
前記情報管理部は、あるチケット番号の工事が成功した場合に、前記工事ステータスにおける成功を示す情報に当該チケット番号を設定し、あるチケット番号の工事に失敗した場合に、前記工事ステータスにおける失敗を示す情報に当該チケット番号を設定する
第3項に記載の工事実行管理装置。
(第5項)
前記工事実行部は、あるチケット番号の工事を実行する際に、前記工事ステータスにおいて成功を示す情報に当該チケット番号が付されている場合には、当該工事をスキップする
第4項に記載の工事実行管理装置。
(第6項)
前記工事実行部は、あるチケット番号の工事の切り戻しを実行する際に、前記工事ステータスにおける成功を示す情報と失敗を示す情報のいずれにも当該チケット番号が設定されていない場合に、当該工事の切り戻しをスキップする
第4項又は第5項に記載の工事実行管理装置。
(第7項)
工事対象装置に対してソフトウェアをデプロイする工事を実行する工事実行管理装置における工事実行管理方法であって、
前記工事対象装置から設定情報を取得するステップと、
記憶手段に格納されている工事資材に前記設定情報を反映させるステップと、
前記設定情報を反映させた工事資材を用いて前記工事対象装置に対する工事を実行するステップと
を備える工事実行管理方法。
(第8項)
コンピュータを、第1項ないし第6項のうちいずれか1項に記載の工事実行管理装置における各部として機能させるためのプログラム。
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
100 工事実行管理装置
110 GUI部
120 情報取得部
130 情報管理部
140 工事実行部
200 工事資材格納装置
300 ユーザ端末
400 工事対象装置
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置
開示の技術によれば、工事対象装置に対してソフトウェアをデプロイする工事を実行する工事実行管理装置であって、
前記工事対象装置から設定情報を取得する情報取得部と、
記憶手段に格納されている工事資材に前記設定情報を反映させる情報管理部と、
前記設定情報を反映させた工事資材を用いて前記工事対象装置に対する工事を実行する工事実行部と、を備え、
前記情報管理部は、前記記憶手段におけるマスターコードのブランチをコピーすることにより前記工事対象装置用のブランチを作成し、当該ブランチにおける工事資材に前記設定情報を反映させる
工事実行管理装置が提供される。

Claims (8)

  1. 工事対象装置に対してソフトウェアをデプロイする工事を実行する工事実行管理装置であって、
    前記工事対象装置から設定情報を取得する情報取得部と、
    記憶手段に格納されている工事資材に前記設定情報を反映させる情報管理部と、
    前記設定情報を反映させた工事資材を用いて前記工事対象装置に対する工事を実行する工事実行部と
    を備える工事実行管理装置。
  2. 前記情報管理部は、前記記憶手段におけるマスターコードのブランチをコピーすることにより前記工事対象装置用のブランチを作成し、当該ブランチにおける工事資材に前記設定情報を反映させる
    請求項1に記載の工事実行管理装置。
  3. 前記工事資材を用いて行われる各工事工程にはチケット番号が付与されており、前記情報管理部は、前記チケット番号に基づいて工事ステータスを管理する
    請求項1又は2に記載の工事実行管理装置。
  4. 前記情報管理部は、あるチケット番号の工事が成功した場合に、前記工事ステータスにおける成功を示す情報に当該チケット番号を設定し、あるチケット番号の工事に失敗した場合に、前記工事ステータスにおける失敗を示す情報に当該チケット番号を設定する
    請求項3に記載の工事実行管理装置。
  5. 前記工事実行部は、あるチケット番号の工事を実行する際に、前記工事ステータスにおいて成功を示す情報に当該チケット番号が付されている場合には、当該工事をスキップする
    請求項4に記載の工事実行管理装置。
  6. 前記工事実行部は、あるチケット番号の工事の切り戻しを実行する際に、前記工事ステータスにおける成功を示す情報と失敗を示す情報のいずれにも当該チケット番号が設定されていない場合に、当該工事の切り戻しをスキップする
    請求項4又は5に記載の工事実行管理装置。
  7. 工事対象装置に対してソフトウェアをデプロイする工事を実行する工事実行管理装置における工事実行管理方法であって、
    前記工事対象装置から設定情報を取得するステップと、
    記憶手段に格納されている工事資材に前記設定情報を反映させるステップと、
    前記設定情報を反映させた工事資材を用いて前記工事対象装置に対する工事を実行するステップと
    を備える工事実行管理方法。
  8. コンピュータを、請求項1ないし6のうちいずれか1項に記載の工事実行管理装置における各部として機能させるためのプログラム。
JP2021051172A 2021-03-25 2021-03-25 工事実行管理装置、工事実行管理方法、及びプログラム Active JP7189251B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021051172A JP7189251B2 (ja) 2021-03-25 2021-03-25 工事実行管理装置、工事実行管理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021051172A JP7189251B2 (ja) 2021-03-25 2021-03-25 工事実行管理装置、工事実行管理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2022149153A true JP2022149153A (ja) 2022-10-06
JP7189251B2 JP7189251B2 (ja) 2022-12-13

Family

ID=83463804

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021051172A Active JP7189251B2 (ja) 2021-03-25 2021-03-25 工事実行管理装置、工事実行管理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP7189251B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014021809A (ja) * 2012-07-20 2014-02-03 Kyocera Document Solutions Inc 通信確立支援システムおよび電子機器
JP2018063520A (ja) * 2016-10-12 2018-04-19 株式会社日立製作所 計算機システム及びプログラムのリリース管理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014021809A (ja) * 2012-07-20 2014-02-03 Kyocera Document Solutions Inc 通信確立支援システムおよび電子機器
JP2018063520A (ja) * 2016-10-12 2018-04-19 株式会社日立製作所 計算機システム及びプログラムのリリース管理方法

Also Published As

Publication number Publication date
JP7189251B2 (ja) 2022-12-13

Similar Documents

Publication Publication Date Title
US20200183896A1 (en) Upgrade of heterogeneous multi-instance database clusters
CN110147369B (zh) 多重租赁数据库系统中的数据分离和写入重新定向
US10592229B1 (en) Method and system for restoring software
US7831968B1 (en) Method and system for restoring software
US8312430B2 (en) Guarding code check-in with test case execution results
US7802247B1 (en) Method and system for restoring software
US8640098B2 (en) Offline configuration and download approach
JPH05108317A (ja) ネツトワークシステム及びそのソフトウエア管理方法
JP2014142678A (ja) 仮想サーバ移行計画作成方法およびシステム
CN106874050A (zh) 一种系统自动升级方法
US20210111962A1 (en) Topographical search
CN110633101A (zh) 一种程序代码管理方法、装置、设备及可读存储介质
CN116134420A (zh) 使用多个区块链以将事务应用于持久存储系统中的持久数据对象集
US20230305828A1 (en) Virtual upgrade layer-based application upgrade
CN113760234B (zh) 一种软件开发方法和系统
JP7189251B2 (ja) 工事実行管理装置、工事実行管理方法、及びプログラム
JP2016001376A (ja) プログラマブルコントローラシステム、その支援装置
JP5109676B2 (ja) データ整合性を確保するためのプログラム、方法及びコンピュータ・システム
EP3182278A1 (en) System for automatic preparation of integrated development environments
CN113672269B (zh) 数据处理方法、系统、电子设备及程序产品
CN115952542A (zh) 一种数据处理方法
JP2022108452A (ja) プログラム管理装置及びプログラム管理方法
CN113360143A (zh) 远程软件开发方法、装置、存储介质及处理器
KR101527578B1 (ko) 소프트웨어 개발 장치 및 그 방법
JP2013191003A (ja) ブランチリポジトリ管理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220725

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221201

R150 Certificate of patent or registration of utility model

Ref document number: 7189251

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150