GNU/Linux >> Linux の 問題 >  >> Linux

バージョン管理、テスト、継続的統合/展開などの開発手法をシステム管理にどのように適用しますか?

解決策 1:

免責事項:私は Puppet の開発者の 1 人です。

明らかな方法は、概念を適用することです。開発/テスト/本番のサイクルを定義し、それらを介して変更をプッシュします。バージョン管理を使用してシステムを追跡します。

手短に言えば、その道をたどり始めると、それらを自動化するツールが本当に必要であることがわかります。基本的には、システム管理を自動化したいので、それらの手法をマシンで使用するのではなく、システムで使用します。マシンを管理します。

Chef、Puppet、Salt、CFEngine などのツールはすべて、その 2 番目のニーズに対応するための一般的なツールです。これらは、システム管理を、バージョン管理とテストが可能な中央ソリューションに変えるという一般的な方向性で機能します。

DevOps の動きは、これを行う方法に関するもう 1 つの優れた情報源です。教訓は、開発者と運用スタッフ間のより良い協力関係ですが、これと同じ方向性にも傾いています。

解決策 2:

短い答えは、「OS 展開管理」、「構成管理」、および「ソフトウェア パッケージング」です。長い答えが続きます。

Daniel Pittman の返信に、システム管理における「システム」を構成するものの内訳を追加したいと思います。

システムまたは環境は次のもので構成されます:

  • サーバー
  • オペレーティング システム
  • 構成
  • ベンダー パッケージ。そして
  • ローカル パッケージ

これらを包み込むのは次のようなプロセスです:

  • OS の導入またはイメージング
  • 構成管理
  • ソフトウェア パッケージの管理
  • 監査/ログ
  • モニタリング
  • バックアップ

そして、これらを組み合わせて、次のような非機能的な目標の達成を支援したいと考えています:

  • 再現性
  • 保守性
  • 測定可能性
  • パフォーマンス
  • 追跡可能性
  • テスト容易性
  • 可変性

これはクイックブレインダンプです。すべてのリストにさらに追加できると確信しています.

あなたの質問は、特定の言葉を使わずにこれらの多くに触れています。たとえば、簡単に展開して元に戻すことができるようにしたい、つまり保守性が必要です。テスト環境で実行し、合格するまでテストします。つまり、再現性、テスト容易性、測定可能性です。 OS と構成の展開の再現性が必要なため、vm イメージをバージョン管理に入れることを考えています。

これを支援するためのツールはたくさんありますが、そのうちのいくつかは Daniel によって言及されています。その他:

  • 既知の OS 環境をデプロイするためのキックスタート (RedHat ベース)、Preseed (Debian ベース)、WDS (MS Windows)
  • 設定とパッケージ管理のための Spacewalk/Satellite (RedHat ベース)、グループ ポリシー (MS Windows)
  • パッケージを生成、デプロイ、アップグレード、削除するための YUM および APT パッケージ システム (ソフトウェアを構成するバイナリ、データ、構成のセット)
  • 監視用の Nagios、OpenNMS、SCOM
  • バックアップ用の Amanda、Bacula、Windows Backup Server
  • パフォーマンス監視用の Munin、PCP、および Hyperic
  • バージョン管理用の CVS、SVN、GIT、または Bazaar
  • ビルド管理のための Hudson と Jenkins
  • テスト用の Selenium とロボット
  • 記録、コミュニケーション、追跡のための Bugzilla、Request Tracker、Jira

繰り返しますが、これは包括的なリストではありませんが、私を導くために頭の中に置いているものであり、うまくいけばあなたにも役立つでしょう.


Linux
  1. Linuxカーネルの継続的インテグレーションテスト

  2. Linuxでカーネルバージョンを確認する方法

  3. 方法:DRBDのレプリケーションと構成

  1. OSとLinuxのバージョンを確認する方法

  2. Linux でファイルシステムをマウントおよびアンマウントする方法

  3. BTRFS ファイル システムを作成してクエリを実行する方法

  1. コンテンツキュレーションとは何ですか?どのように行う必要がありますか?

  2. 知っておく必要のある侵入テストのベストプラクティス

  3. SVNパッチを作成して適用するには?