DockerでのCI/CDパイプラインの構築

2024/07/14
x-logoline-logo

DockerでのCI/CDパイプラインの構築

2024/07/14
x-logoline-logo
PR

このガイドでは、Dockerを使ってCI/CDパイプラインを構築する方法について紹介します。

CI/CDってなに?

まずは、CI/CDが何なのかをざっくり説明します。

CI(継続的インテグレーション)

CIは、Continuous Integration(継続的インテグレーション)の略で、コードを頻繁に統合しテストするプロセスです。これにより、バグを早期に発見できます。

CD(継続的デリバリーおよび継続的デプロイメント)

CDは、Continuous Delivery(継続的デリバリー)またはContinuous Deployment(継続的デプロイメント)の略です。コードを本番環境に自動で配布するプロセスを指します。これにより、ソフトウェアを迅速にリリースできるようになります。

DockerでCI/CDを行うメリット

次に、Dockerを使うメリットを見てみましょう。

環境の一貫性

Dockerを使うことで、ローカル開発環境と本番環境が一致するので、「自分の環境では動くのに」という問題が減ります。

簡単にスケールアップ

Dockerはコンテナを使うため、必要に応じて簡単にスケールアップできます。

実際にCI/CDパイプラインを作ってみよう!

ここからは、実際にDockerを使ってCI/CDパイプラインを作成する手順を見ていきます。

ステップ 1 Dockerfileを作成する

まずは、Dockerfileを作成して、アプリケーションのイメージをビルドします。以下がその例です。

FROM node:14

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 3000

CMD ["npm", "start"]

ステップ 2 GitHubリポジトリをセットアップする

GitHubにリポジトリを作成し、コードをプッシュします。

ステップ 3 GitHub Actionsを設定する

GitHub Actionsを使って、CI/CDパイプラインを構築します。以下は設定ファイルの例です。

name: CI/CD Pipeline

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Set up Node.js
      uses: actions/setup-node@v2
      with:
        node-version: '14'
    - name: Install dependencies
      run: npm install
    - name: Run tests
      run: npm test
    - name: Build Docker image
      run: docker build -t my-app .
    - name: Push Docker image
      run: docker push my-app

ステップ 4 Docker Hubにイメージをプッシュする

GitHub Actionsが成功すると、DockerイメージがDocker Hubに自動でプッシュされます。

まとめ

Dockerを使ったCI/CDパイプラインの構築は、初めは難しそうに感じるかもしれませんが、慣れればとても便利です。環境の一貫性やスケーラビリティなど、さまざまなメリットがあるので、ぜひ試してみてください!

この記事はAIを使用して作成されています。
PR