NEOで扱っているOSSの説明(Part1)~ソースコード管理・アーティファクト管理編
本記事では、NEOが提供するOSS(Open Source Software)について説明します。
本タイトルは、複数回に分けて掲載していきます。
※本記事は「NEOで扱っているOSSの説明 」シリーズのパート1となります。
<目次>
目次[非表示]
- 1.はじめに
- 2.NEOが提供するOSS
- 3.NEOが提供するOSSの説明
- 3.1.ソースコード管理
- 3.1.1.ソースコード管理とは
- 3.1.2.GitLab
- 3.1.2.1.基本的な機能や特徴
- 3.1.2.2.NEOにおけるGitlab
- 3.2.アーティファクト管理
- 3.2.1.アーティファクト管理とは
- 3.2.2.JFrog Artifactory
- 3.2.2.1.基本的な機能や特徴
- 3.2.2.2.NEOにおけるJFrog Artifactory
- 4.参考
- 5.まとめ
はじめに
テクマトリックス 「NEO」について
NEO製品に関しては、「クラウドネイティブ内製化支援サービス:テクマトリックスNEOとは 」記事を参照ください。
NEOが提供するOSS
NEOでは、VMやKubernetesを対象に、OSSのサービスを自動構築するための様々なテンプレートを提供しております。これらのテンプレートを通じて、設計から構築まで時間を要するサービスの導入を、比較的短時間で行うことが可能です。
NEOが提供しているOSSのテンプレートは、下記のツールとなります。
本タイトルでは、下記に記載の各ソフトウェアについて紹介します。
今回ご紹介するのは「ソースコード管理」および「アーティファクト管理」のOSSとなります。
- ソースコード管理
Gitlab アーティファクト管理
JFrog ArtifactoryCI/CD
Jenkins
Argo CDテスト自動化
Selenium
Serverspecリモートデスクトップ ゲートウェイ
Apache Guacamoleプロジェクト管理
Redmine
Mattermostネットワークトラフィック管理
NGINX Ingress Controller監視・モニタリング
Prometheus
Elastic Stackシークレット管理
HashiCorp Vault
NEOが提供するOSSの説明
ソースコード管理
ソースコード管理について、NEOで提供しているOSSを紹介します。
ソースコード管理とは
ソースコード管理(Source Code Management)は、ソフトウェア開発プロジェクトにおいて、ソースコード(プログラムのソースコードファイル)の変更やバージョン履歴を追跡し、効率的に管理するための仕組みやツールのことを指します。ソースコード管理は、チーム開発で同時にソースコードに対して作業を行う場合でも、作業の競合やコードの混乱を防ぎ、チームでのソフトウェア開発を支援する仕組みとなります。
GitLab
GitLabは、オープンソースおよびエンタープライズ向けのDevOpsプラットフォームであり、ソースコードの管理、CI/CD、コードレビュー、コラボレーションなどを統合したツール群です。主にGitリポジトリ機能を中心として、コードのバージョン管理やチームとの共同作業を効率的に行うことができます。
基本的な機能や特徴
GitLabでは、代表的な機能として、下記の機能を提供しております。
無料版の機能をベースに記載しており、有料版(Enterprise Edition)ではさらなる追加の機能も提供しています。
- ソースコード管理
GitLabは、Gitリポジトリをホストして、ソースコードのバージョン管理を行います。複数のブランチでの作業やマージ、コードレビューなどをサポートします。
- プロジェクトやソースコードに対する課題管理
GitLabはプロジェクトの管理を支援するために、マイルストーン、Todoリスト、Wiki、スニペットなどの機能を提供します。
- CI/CDパイプライン
GitLabは継続的インテグレーション、継続的デリバリー(CI/CD)が実行可能なパイプラインを提供しています。
パイプラインこれにより、コードのビルド、テスト、デプロイが自動化され、アプリケーションの品質と展開の効率が向上します。
NEOにおけるGitlab
NEOによって構築されるGitLabは、以下の特徴があります。
- 仮想マシンの作成からインストールまでの初期設定
仮想マシンの作成からGitLabインストールまでの初期設定をテンプレートから自動で行います。
NEOによって検証された構成をそのまま利用する事ができます。
- マシンスペックの調整可能
GitLabテンプレートから環境構築実行時に、任意のマシンスペックを指定可能です。
構成したい環境の規模に合わせて、ハイスペック、またはロースペックな環境を選択出来ます。
- 各種NEOリソースとの疎通設定をデフォルトで構成
その他のNEOから構築されたリソースとの疎通設定はデフォルトで構成されます。NEOで構築したサービスとの連携を比較的容易に行うことが出来ます。
アーティファクト管理
アーティファクト管理について、NEOで提供しているOSSを紹介します。
アーティファクト管理とは
- アーティファクト管理について
アーティファクト管理は、ソフトウェアのビルド成果物や依存関係を効率的に保存、管理、配布するためのプロセスを指します。
ソフトウェア開発では、ソースコードからビルドを行い、最終的な成果物としてアーティファクト(バイナリ、アーカイブ、ライブラリ、パッケージなど)を生成します。これらの成果物は中央リポジトリ(Central Repository)に格納し、複数の開発者や環境で参照可能なように共有します。
ソフトウェア開発プロセスの効率化や品質向上において、アーティファクト管理は重要な課題となります。
NEOではアーティファクト管理をするためのソフトウェアとして、JFrog Artifactoryのテンプレートを提供しております。
- 中央リポジトリについて
中央リポジトリは、ソフトウェア開発において、依存関係の管理やパッケージの配布に使用される主要なリポジトリのことを指します。
中央リポジトリには、様々なライブラリやアーティファクト(ビルドされた成果物)が格納されており、開発者はこれらのライブラリやアーティファクトをプロジェクトに依存関係として追加することができます。これにより、再利用可能なコードや外部ライブラリを効率的に利用して、プロジェクトの開発を進めることができます。
JFrog Artifactory
JFrog Artifactoryは、オープンソースおよびエンタープライズ向けのアーティファクト(成果物やバイナリファイル)リポジトリマネージャです。主にソフトウェアのパッケージやコンポーネント、ビルド成果物を効率的に管理し、配布するためのプラットフォームとして使用されます。開発者とCI/CDプロセスとの間でアーティファクトを中央リポジトリとして管理し、バージョン管理やセキュリティ管理などを行うことができます。
基本的な機能や特徴
JFrog Artifactoryでは、代表的な機能として、下記の機能を提供しております。
- アーティファクトの保管
Artifactoryは、ビルドされたパッケージやバイナリファイルをセキュアなリポジトリに保存します。複数の形式に対応し、Maven、Gradle、NPM、Dockerなどの主要なパッケージマネージャーと連携できます。
※引用:https://JFrog.com/ja/artifactory/features/
- アーティファクトのバージョン管理
Artifactoryは、アーティファクトのバージョン管理を行います。異なるバージョンのアーティファクトを追跡し、バージョン間の差分を管理できます。
- リポジトリのセキュリティ
Artifactoryは、アーティファクトのセキュリティを強化するために、アクセス制御、署名、SSL、ユーザー認証などのセキュリティ機能を提供します。
- CIをはじめとした各種ツールとの連携
Artifactoryは、多くのツールやサービスとの連携が可能です。
Jenkins、GitLab、各種CI/CDツールなどと連携することができます。
NEOにおけるJFrog Artifactory
NEOによって構築されるJFrog Artifactoryは、以下の特徴があります。
- 仮想マシンの作成からインストールまでの初期設定
仮想マシンの作成からJFrog Artifactoryインストールまでの初期設定をテンプレートから自動で行います。
NEOによって検証された構成をそのまま利用する事ができます。
- マシンスペックの調整可能
Artifactoryテンプレートから環境構築実行時に、任意のマシンスペックを指定可能です。
構成したい環境の規模に合わせて、ハイスペック、またはロースペックな環境を選択出来ます。
- データ領域にAWS RDS(PostgreSQL)を構成
製品が使用するデータ領域として、PostgreSQLを構成しております。
効率的で信頼性の高いバイナリ管理と、データ管理を実現できます。https://JFrog.com/help/r/artifactory-how-to-configure-an-ha-postgresql-database-with-artifactory
- 各種NEOリソースとの疎通設定をデフォルトで構成
その他のNEOから構築されたリソースとの疎通設定はデフォルトで構成されます。NEOで構築したサービスとの連携を比較的容易に行うことが出来ます。
より多くの情報が必要な場合は、以下のサイトを参照いただくか弊社までお気軽にお問い合わせください。
https://docs.nginx.com/nginx/
参考
本記事で紹介したOSS製品の参考資料のリンクです。
GitLab
GitLab製品ページ(日本語版)
GitLabドキュメント
JFrog Artifactory
JFrog Artifactory製品ページ
JFrog Artifactoryドキュメント
まとめ
本記事では、「ソースコード管理」、また「アーティファクト管理」において、テクマトリックス「NEO」が提供するOSSとその機能を紹介しました。
次回は「CI/CD」のOSSについて紹介します。