debian / ubuntuに基づくサーバー構成のバージョン管理

良い一日、親愛なるコミュニティ。

私は小さなアイデアを共有することにしました。多分誰かが興味を持って役に立つでしょう。



失われた構成や壊れた構成、ルート下のサーバーでの承認にうんざりして、新しい最適な構成を転送するために、構成フォルダーからリポジトリを作成し、よりアクセスしやすい場所にアクセスできるようにしました。



私自身について少し



私自身はWebプログラマーです。しばらくの間、ubuntuに座っていました。サーバー(VPS)はほぼすべてがDebian上にありました。 同僚やホスティング業者とは異なり、サーバー管理の経験はあまりありませんが、常にこの方向の知識を集めました。 コンソールに何時間も座って、特定のタスクを解決できました。 時間がなくなると、経験豊富な同僚がタスクトイを手に取り、私が間違っていたことを教えてくれました。 しかし、彼らが自分自身で正確に何をしたか、より多くのロードされたプロジェクトの設定がどのように発生するかは常に興味深いものでした。 Mercurialバージョン管理システムを使用して、 bitbucketに保存するすべてのプロジェクト。 ある晴れた日、私たちは同じツールを使用してサーバー上のプロジェクトの最新バージョンを維持することを決定し、私たちの生活を非常に簡単にしました。 これで、次の2つのコマンドでサーバーの最新の更新を上げることができます。



hg pull && hg up
      
      





ホスティング事業者が共有ホスティングでこのようなソフトウェアを提供しない理由は謎のままです。 私の意見では、FTPは昨日アップロードしています。 今、新しい従業員が来て、サーバーへのアクセスをゆっくりと与えますが、もう一方の側からの写真を見たので、すでに私の制御下にあり、サーバーで彼らが何をしたかを見つけるのが非常に困難でした。 数時間後、サーバーは私の通常の状態に戻り、私のところに来ました。



百万のアイデア



新しいdebainベースのサーバー(VPS)を受け取った後、考え直すことなく、構成フォルダーにリポジトリーを作成しました。



新しいサーバー
rootユーザーの下からすべてのコマンドを生成します。

まず、サーバー上のソフトウェアを更新します。

 apt-get update && apt-get upgrade
      
      





Mercurialパッケージを置きます(debian 6で表示されますが、debian 5でインストール記事を見ました):

 apt-get install mercurial
      
      





構成フォルダーに移動します。

 cd /etc
      
      





リポジトリを作成します。

 hg init
      
      





隠しフォルダー「.hg」は何を作成しますか

あなた自身について少し教えてください:

 nano /etc/.hg/hgrc
      
      





データを指定します。

 [ui] username = User <****@gmail.com>
      
      







次のコマンドを実行して、すべてのファイルについて調べることができます。

 hg status
      
      





Mercuryは、まだ新しいファイルのリストのみを表示します。



すべての新しいファイルを次のコミットに追加することを示します。

 hg add
      
      





最後に、構成の最初の状態を修正します。

 hg commit -m 'first commit'
      
      





これで、残りのソフトウェアを安全にインストールして構成できます。



次のコマンドを使用して、いつでも構成のステータスを確認できます。

 hg status
      
      





ファイルで何が変更されたかは、次のコマンドで確認できます。

 hg diff ./  
      
      





次のコマンドを使用して、変更をロールバックできます。

 hg revert ./  
      
      





すべてのチームに精通することはさらに良いでしょう。

 hg help
      
      







転記


新しいサーバーを立ち上げるとき、または古いサーバーを常に更新するときは、次のことに注意してください。



リストが大きくなる場合があります。



私はすべてをプライベートリポジトリにアップロードすることにしました。 繰り返しますが、私たちはbitbucketを使用しています 。 その上にリポジトリを作成し、次のようなパスを取得します。

 https://bitbucket.org/username/etc-project-a
      
      





リポジトリの構成を再発見します。

 nano /etc/.hg/hgrc
      
      





以下を示します。

 [paths] default = https://bitbucket.org/username/etc-project-a
      
      





コマンドを実行します:

 hg push
      
      





水銀がbitbucketサーバーの認証データを要求するもの。 幸いなことに、ssh-keyで認証を設定できます。



これで、構成は乾燥した涼しい場所になりました。 特定のサーバーがどのように構成されているかをいつでも確認でき、たとえば、新しいサーバーを作成できます。 これを行うには、リポジトリをローカルマシンに複製するか、bitpacketの非常に便利なWebインターフェイスを使用する必要があります。



長所:



短所:



クラウンに自動コミットを追加したかったのですが、このような単純なソリューションを残す方が良いと思いました。 おそらく、私が喜んで読む他の既製のソリューションがあります。 おそらく、この短い記事が、より簡単で便利なソリューションを思い付くのに役立つかもしれません。



ありがとう



All Articles