構築する開発環境について検討 – Intel N100 ミニ PC で構築する開発環境(2日目)

Intel N100 ミニ PC で構築する開発環境(2日目)です。

最初から読むこともできます。目次もあります。)

購入した NiPoGi ミニPC (CPU: Intel n100) に開発環境を構築していく予定です。タイトルに SOHO をいれてあったのですが、なくてもいい気がしてきたので消しました。


今日は、構築する開発環境について検討しました。いまのところ、次のようなものを考えています。

  1. 仮想化ソフトウェア (VirtualBox or Hyper-V)
  2. コンテナソフトウェア (Docker Desktop or Docker Engine)
  3. 開発エディタ (Visual Studio Code)
  4. バージョン管理システム (GitBucket or gitness)
  5. CI/CD (Jenkins or gitness)

Intel N100 ミニ PC の特徴は低価格でありながら、仮想化機能を備えており、VirtualBox や Hyper-V といった仮想化ソフトウェアを動作させることができるのが大きな魅力です。メモリ 16GB で SSD 512 GB のものであっても4万円以下で購入(2023年12月時点)できるというのがありがたいです。これだけの性能があれば、VirtualBox、Docker、Visual Studio Code、GitBucket、Jenkins といった開発環境構築に必要なソフトウェアも十分稼働させることができます。

仮想化ソフトウェア

仮想化ソフトウェアを使うと、それを使って用意した仮想マシンによる柔軟で効率的な開発環境を構築することができるようになります。VirtualBox は Windows 11 Home、macOS、Linux で使えて汎用性が高いので、仮想マシンを用意するときはこちらを個人的には使っています。ただし macOS は Intel 版が正式サポート、Apple silicon 版は開発プレビュー版があるという状態です。

Hyper-V が利用できる Windows 11 Pro を使っている場合(今回購入したものは Pro がプレインストールされているもの)は、VirtualBox のような仮想化ソフトウェアをインストールしなくても Hyper-V を使って仮想マシンが用意できるので、Windows 11 Pro を基本的に使う人の場合は、こちらを使いたくなるでしょう。

パソコンを使ってソフトウェア開発をする人にとって、仮想マシンが使える環境というのは非常に役に立ちます。これを使うと、物理マシンで作業をする前に手軽にリハーサルができるからです。仮想ディスクも利用可能なので、誤ってインストール時にデータを残しておきたい物理ディスクを初期化するといった事故の心配がありません。また、仮想マシンであれば手軽にバックアップが取れるため、壊れてもすぐに復旧できるというのも効率的です。

コンテナソフトウェア

コンテナソフトウェアである Docker を使用すると、軽量な仮想マシン(コンテナ)が利用できて、異なるソフトウェアバージョンの切り替えが簡単にできるようになります。Docker を動かすには Docker Desktop を使うのが手軽です。実際は Docker Desktop に含まれる Docker Engine があれば良いので、これだけインストールして使うこともできます。

開発エディタ

開発エディタとしては、高機能な Visual Studio Code (VS Code) が人気があるので使っています。これと Docker を組み合わせて開発コンテナを利用することで、開発するソフトウェアに応じて開発環境を簡単に切り替えられるようにもなります。

バージョン管理システム

ソフトウェア開発をするにあたってはバージョン管理システムの利用が常識となっています。最近よく使われているのは Git なので、これが使えるようにします。Git に慣れているとコマンドだけで十分なのですが、Web システムとして動作する Git システムがあると、より使いやすくなります。ここでは GitBucket というサーバソフトウェアを導入します。

ここで、Docker と VS Code を使った開発コンテナそのものをバージョン管理の対象にすることが可能です。これは、Docker Compose を使用してコンテナの環境を YAML ファイルで保存しておくことができるからです。このファイルを GitBucket などの Git システムで管理することでバージョン管理ができるようになります。

CI/CD

バージョン管理システムを使うなら、CI/CD の導入もしたくなるはずです。CI/CD としては、Jenkins が有名で、手軽に設置できるので使ってみようと考えています。

ちなみに、gitness というサーバソフトウェアがあり、これはバージョン管理システムと CI/CD 機能が統合されているようです。自分は使ってみたことはないのですが、動作させるだけなら簡単にできそうなので、できたら、これも動かしてみたいと考えています。

同じタグの記事: Intel N100
同じタグの記事: NiPoGi
同じカテゴリの記事: Linux