ソフトウェア開発では、コードが正しく動くかを確認するために「ビルド」が必要です。ビルドパイプラインを設定すると、コードの変更が自動的にビルド、テストされます。この記事では、ビルドパイプラインの基本的な仕組みと、人気のツールを使った設定方法を解説します。
目次
基本概念の説明
ビルドパイプライン:
ビルドパイプラインは、コードの変更が自動的にテストされ、ビルドされ、リリースに至るプロセスを自動化するための一連のステップを指します。CI/CDツールを使用して、自動化されたビルド、テスト、デプロイメントを行います。
継続的インテグレーション (CI):
開発者が頻繁にコードをリポジトリにプッシュし、その変更が自動的にビルドとテストされるプロセスです。CIにより、バグの早期発見と迅速な修正が可能になります。
継続的デリバリー (CD):
継続的インテグレーションに加えて、ビルドされたアプリケーションを自動的にデプロイするプロセスです。これにより、ソフトウェアが短いサイクルでリリースされることが促進されます。
主要なCI/CDツールでのビルドパイプライン設定
GitHub Actionsでのビルドパイプライン設定
GitHub Actionsを使うと、コードをプッシュするたびに自動でテストやビルドが行われます。
name: CI Pipeline
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: コードをチェックアウト
uses: actions/checkout@v2
- name: Node.jsをセットアップ
uses: actions/setup-node@v2
with:
node-version: '14'
- name: 依存関係をインストール
run: npm install
- name: テストを実行
run: npm test
- name: ビルドを実行
run: npm run build
ポイント: GitHubリポジトリにプッシュするたびに、このパイプラインが動きます。
Jenkinsでのビルドパイプライン設定
pipeline {
agent any
stages {
stage('コードのチェックアウト') {
steps {
checkout scm
}
}
stage('ビルド') {
steps {
sh 'npm install'
sh 'npm run build'
}
}
stage('テスト') {
steps {
sh 'npm test'
}
}
stage('デプロイ') {
steps {
sh 'npm run deploy'
}
}
}
post {
always {
archiveArtifacts artifacts: '**/target/*.jar', allowEmptyArchive: true
}
success {
mail to: 'dev-team@example.com',
subject: "ビルド成功: ${env.JOB_NAME} #${env.BUILD_NUMBER}",
body: "ビルドに成功しました: ${env.BUILD_URL}"
}
failure {
mail to: 'dev-team@example.com',
subject: "ビルド失敗: ${env.JOB_NAME} #${env.BUILD_NUMBER}",
body: "ビルドに失敗しました: ${env.BUILD_URL}"
}
}
}
ポイント: 各ステージでビルド、テスト、デプロイを自動化できます。
CircleCIでのビルドパイプライン設定
version: 2.1
jobs:
build:
docker:
- image: circleci/node:14
steps:
- checkout
- run: npm install
- run: npm test
- run: npm run build
workflows:
version: 2
build_and_test:
jobs:
- build
ポイント: CircleCIはコンテナベースのアプリ開発に最適です。
まとめ
ビルドパイプラインを設定することで、手作業を減らし、開発スピードを上げることができます。GitHub Actions、Jenkins、CircleCIのようなツールを使って、ビルド、テスト、デプロイを自動化しましょう。
コメント
コメント一覧 (1件)
[…] 4-2-1. ビルドパイプラインの設定 […]