Open6
JenkinsでReactの自動ビルド・デプロイ環境を整える
はじめに
CRAで作成したReactのアプリの自動ビルド・デプロイ環境をJenkinsで整えたい。
Jenkinsの環境を作る
Jenkins内でDockerコンテナを使わないのでシンプルな構成にする。
docker-compose.yml
version: "3"
services:
master:
container_name: master
image: jenkins/jenkins:latest
ports:
- 8080:8080
volumes:
- ./jenkins_home:/var/lib/jenkins_home
コンテナ起動後、Jenkinsを立ち上げて初期設定をする。
Node.jsのプラグインをインストール
「Manage Jenkins」→「Manage Plugins」
「Manage Jenkins」→「Global Tool Configuration」
Nameは後程使うので、わかりやすい名前にする。今回は「node」。
VersionはLTS版を選択。
その他はデフォルト値。
ReactのアプリとJenkinsファイルをGitHubにコミットする
Create-React-Appを使ってプロジェクトを作成する。
npx create-react-app jenkins-react-build --template @chakra-ui/typescript --use-npm
Jenkinsfileを作成する
とりあえず、npm install から npm run buildまでをつくる
これもpushしておく
pipeline {
agent any
// 上記の「Global Tool Configuration」で設定したnameを指定
tools { nodejs "node" }
stages {
stage('Install') {
steps {
dir ("${env.WORKSPACE}/src") {
sh 'npm install'
}
}
}
stage('Build') {
steps {
dir ("${env.WORKSPACE}/src") {
sh 'npm run build'
}
}
}
}
}
Pipelineを作成する
「New Item」→「Pipeline」
下のほうにあるPipelineで
Definition: Pipeline script from SCM
を選択
上記で作成したRepositoryを選択し、ブランチも選択する。