Artifactoryの導入を検討する時に考慮すべき5つのポイント

Take the Artifactory Way

これを読んでいるみなさまは、おそらくソフトウェア開発ライフサイクル(SDLC)や継続的インテグレーション(CI)にArtifactoryを追加する際、考慮すべきポイントを理解したいのではないでしょうか。

この記事ではArtifactoryを重要なDevOps自動化ツールとして、開発環境やCI/CDパイプラインに導入する際に考慮するポイントについて説明します。

導入前と導入時に考慮すべき5つのポイント

  1. インフラストラクチャとトポロジ
  2. コンテンツとツール
  3. CI/CDプロセスにArtifactoryを導入する
  4. 管理やメンテナンスの手順
  5. 開発プロセスにおけるArtifactoryの付加価値

1. インフラストラクチャとトポロジ

それでは基本的なところから見ていきましょう。以下の2点について考慮しておきます。まず、Artifactoryを実行するマシンのシステム要件です。これにはリソースやネットワーク、ストレージも含まれます。次に組織内のArtifactoryインスタンスの物理的な場所です。

2. コンテンツとツール

Artifactoryを使用するためには、開発ステーションとパッケージマネージャーやJenkins CIなどのCIサーバを含む既存のリソースを接続する必要があります。

CIを統合していない場合、または組織的な手順でパッケージマネージャを設定したため個々のワークステーションにツールを設定する必要がある場合は、Artifactoryが提供する使いやすいSet Me Up機能を利用できます。これは必要な設定スニペットとコマンドを自動的に生成します。

CI/CDを設定している場合は、Artifactoryをビルドエコシステムに統合して、 デプロイされたアーティファクトや依存関係、ビルド環境に関する情報を可視化できます。JenkinsやTeamCity、BambooなどのCIサーバインテグレーションを使用して、さまざまなパッケージマネージャーとクライアントの必要な設定すべてを使用して、ワークステーションをArtifactoryに接続できます。

コンパクトでスマートなクライアントであるJFrog CLIを使用して、JFrogプロダクトへ自動的にアクセスし、自動化スクリプトを単純化してより読みやすく、保守しやすく、効率的で信頼できるものにします。

3. CI/CDパイプラインにArtifactoryを導入する

JFrogのビルド統合ツールを使用すると、エンドユーザやシステムとの干渉を最小限に抑えながら、ArtifactoryをCI/CDプロセスへ簡単に導入できます。

このステップの計画と実装には、とても時間がかかる場合があります。

ヒント:

  • もっとも柔軟性のあるチーム(つまり、もっとも変化に敏感なチーム)で対応してください。
  • このチームで行っているプロジェクトを選択します。既存のビルドやジョブを変更する必要がなく、きれいな状態からArtifactoryを導入できるように、新しいプロジェクトを作成することをおすすめします。
  • 単体で完結しているチームはほとんどありません。つまり、それぞれの開発チームは他の開発チームとの間でコンテンツをやり取りしています。言い換えればArtifactoryに限らず、ツールを導入することによってお互いのコンテンツの「やり取り」に影響を及ぼさないようにする必要があります。

おすすめの導入ステップ:

  1. 既存のシステムと一緒にArtifactoryをセットアップします。
  2. 既存のシステムを維持しながら、ビルドやアーティファクトを含むコンテンツをArtifactoryにプッシュするようにビルドを設定します。つまり既存のシステムもコンテンツの読み込みとデプロイを行いますが、同時にArtifactoryにもデプロイします。
  3. Artifactoryから直接コンテンツのデプロイと読み込みを開始します。しかし同時に、他のチームやプロジェクトのためにコンテンツを既存のシステムにもデプロイを続けます。
  4. Artifactoryの導入に問題がないと判断できた場合、プロジェクトを1つずつ、またはまとめて移行します。

Suggested implementation flow

注: これらは非常に高いレベルの抽象概念であり、おそらく特定のユースケースに合わせて調整する必要があります。

4. 継続的なメンテナンスと管理

Artifactoryのインスタンスを保守や管理するには、以下のポイントを考慮してください。

  1. コンテンツ(アーティファクト)やビルド保持ポリシー
  2. ストレージの制限事項
  3. データベース管理
  4. 継続的なシステムのモニタリング
  5. アップグレードと定期的なメンテナンス作業の計画

Artifactoryをユニバーサル・バイナリリポジトリマネージャとして導入すれば、ビルドのプロセスやパイプライン全体の継続的な管理コストを減らすことができます。

5. Artifactoryの活用

Artifactoryを導入した時のもっとも本質的な付加価値はビルドのプロセスを改善することです。たとえば、ビルド情報メタデータを使ってトラッキング可能なビルドと簡単な保存ステップを手に入れることができます。

トラッキング可能なビルドで、コンプライアンスやセキュリティ、リリース管理などの段階ごとに問題がないかチェックできます。さらに、QAやコンプライアンス、セキュリティなどの開発後のプロセスを開発プロセスから切り離すことができます。しかも、開発後のすべてのステップはお互いに情報をやり取りできます。

以上、この記事ではArtifactoryを開発環境に導入する際に考慮すべき5つのポイントについて説明しました。これはユーザにインタビューや調査を行い、実際のユーザ環境をベースとした実践的な内容です。これを参考に、ぜひArtifactoryを無料でお試しください。