Open6

JenkinsでReactの自動ビルド・デプロイ環境を整える

wattanxwattanx

はじめに

CRAで作成したReactのアプリの自動ビルド・デプロイ環境をJenkinsで整えたい。

wattanxwattanx

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を立ち上げて初期設定をする。

wattanxwattanx

Node.jsのプラグインをインストール

「Manage Jenkins」→「Manage Plugins」

「Manage Jenkins」→「Global Tool Configuration」

Nameは後程使うので、わかりやすい名前にする。今回は「node」。
VersionはLTS版を選択。
その他はデフォルト値。

wattanxwattanx

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'
                }
            }
        }
    }
}

wattanxwattanx

Pipelineを作成する

「New Item」→「Pipeline」

下のほうにあるPipelineで
Definition: Pipeline script from SCMを選択

上記で作成したRepositoryを選択し、ブランチも選択する。