CI/CD環境を構築
本連載は、「CI/CDを実践してみたい」という超初心者向けの内容となっています
enterpriseレベルやproductionレベルの導入に際して、「CI/CDとは?」という感覚をつかむものとなれば幸いです。
利用するツール等はこちらで選定していますので、別のツールを利用する場合は、適宜お調べください。
大まかな内容としては、以下のようなフローとなります
- 環境構築<-今回はここ
- CI/CDツールの構築
- 開発プロジェクトの準備
- GitHubにプロジェクトデータを登録
- Jenkins Pluginのインストール
- 手動ビルド
- CI/CDツールとその他ツールの併用例
- VCSとの協調
- テストツールとの協調
- インスペクションツールとの協調
- pipelineの実現
環境構築
環境構築編では、CI/CDを実践するに必要な環境を整えます
概要
- Windows 10に仮想化ソフトウェア
VirtualBox
を用意
-
VirtualBox
で仮想マシンUbuntu
を作成 -
Ubuntu
上でDockerコンテナの実行環境を構築
既存環境
OS : Windows 10 Enterprise
プロセッサ : Intel Core i7
RAM : 16GB
システムの種類 : 64bit OS
仮想化ソフトウェアの用意
今回CI/CDを実践するにあたって、仮想環境を用意する
仮想環境には、「ホスト型」と「ハイパーバイザ型」があり。今回は前者を構築
ホスト型の仮想環境を構築する「仮想化ソフトウェア」には以下のようなものがある
- VirtualBox
- VMware Workstation Player
- KVM
今回は「VirtualBox」を利用
インストールは既に済ませていたので、こちらを参考に進めてください
VirtualBoxのバージョンは6.1.14で実施
仮想マシンimageのダウンロード
仮想マシンのOSとしてUbuntuを利用する
imageのダウンロードはこちら
Ubuntuのバージョン情報等はこちらの通り
- Ubuntu Focal 20.04 (LTS)
- 64-bit PC (AMD64) desktop image
注意
その他のバージョンやimageを利用する場合はこちらまたは、こちらを参考にしてください
今回の検証では、仮想マシン上にコンテナとしてCI/CDツールを用意します
適切なOSを利用しないとdocker コンテナを利用できません
仮想マシンの作成
こちらを参考に仮想マシン作成
設定値は基本的にdefaultを採用し、以下の値のみ変更
仮想マシンの初期設定
仮想マシンの設定は指示に迷うところは特にないかと思いますので、省略
その他、事前に設定しておくこととして以下のような内容があります。それぞれの設定はリンク先を確認
docker
最後に行う環境構築として、Docker Engineのインストールを行う
公式のこちらを参考に進めていく
手順だけ抜き出したものが以下になります
- Dockerレポジトリの準備
$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- Docker Engineのインストール
-$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
$ sudo docker run hello-world
-
一般ユーザでDockerを利用できるよう設定
$ cat /etc/group | grep docker
sudo gpasswd -a $(whoami) docker
$ cat /etc/group | grep docker
sudo chmod 666 /var/run/docker.sock
-
Docker Composeのインストール
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version