4

Jenkins、Artifactory、3つの環境(開発、テスト、本番)があります。

開発者が開発環境から何かをコミットすると、それはテスト環境でコンパイルおよびテストされます。そして、そのビルドとアーティファクトはArtifactoryに保存されます。

次のステップに進み、puppetを使用して環境を管理し、Artifactoryから本番環境にアーティファクトをデプロイします。

しかし、始めるにはいくつかのヒントが必要です。

  1. 人形を設置するのに最適な場所はどこですか?彼らが一緒に働くのと同じサーバー上でアーティファクトと同じですか?Puppetは環境も構成します。したがって、考慮しなければならないことがあるかどうかはわかりません。

  2. puppetのインストール前またはインストール中に覚えておく必要のある構成はありますか?特にアーティファクトとジェンキンスのコンテキストで。

ヒント/ヘルプをありがとう。

4

2 に答える 2

2

まず、puppetをマスターエージェント(クライアント/サーバー)モードで実行するか、「マスターレス」モードで実行するかを最初に決定する必要があります。puppetlabs.comにある入門ドキュメントはしっかりしており、チュートリアルに従う価値があります。

決定に関係なく、puppetを実行するすべてのサーバーにpuppetをインストールする必要があります。同じバイナリがmaster、agent、applyなどを実行します。

RedHatっぽいOSを想定したPuppet101マスターレスの例:

# Install puppet
sudo yum install puppet -y

# Create basic manifest
 echo "notify {'hello world':}" > hello.pp

# Run masterless scenario:
sudo puppet apply hello.pp

期待される結果:

notice: hello world
notice: /Stage[main]//Notify[hello world]/message: defined 'message' as 'hello world'
notice: Finished catalog run in 0.03 seconds
于 2012-12-04T02:28:22.953 に答える
2

免責事項:これは私がそれを行う方法です:)

ArtifactoryをPuppetMasterと同じサーバーに配置することにメリットはありませんが、それは悪い考えのようです。

Artifactoryには、気になる製品アーティファクトのみを含む仮想リポジトリがあります。puppetノードのさまざまなものをホストする別の汎用Webサーバーがあり、社内の人々がダウンロードする必要がある場合があります。そのサーバーは、アーティファクトの仮想リポジトリへの転送プロキシでもあります。

ローカルWebサーバーは、外部のawsサーバーと毎晩同期します。内部的には、ビットをダウンロードする必要があるノードは、ローカルサーバーからビットを取得します。外部的には、クラウドサーバー(実際には自動スケーリングクラスター)からダウンロードします。

これにより、ノードにアーティファクトをダウンロード、md5、およびインストールできるpuppetマニフェスト/カスタムタイプを作成するのがかなり簡単になります。Linuxの場合は、パッケージをビルドするのが面倒ですが、私は現在はしていません。

フォアマンもパペットENCとして使用しています。ソフトウェアのバージョンは、グローバル、グループ、および必要に応じてノードレベルでフォアマンパラメーターとして構成されます。アプリケーションwarの新しいバージョンをデプロイするには、誰かがForemanにログインしてパラメーターを設定し、Puppetがそのジョブを実行するのを待ちます(または、ノードにログインして、必要に応じてPuppetを強制的に実行します)。

それがあなたにいくつかのアイデアを与えることを願っています。

于 2012-12-04T22:40:33.787 に答える