これを書いたきっかけ
Jenkinsサーバ(コンテナ)でreactのファイルのビルドをしたかったためJenkinsサーバにnodeをいれないとなぁ、となったことが書いたきっかけ。
しかし、Jenkinsにはマスタ/スレーブという機能があり、Jenkinsコンテナからreactコンテナへビルドを命令することができるらしいので、Jenkinsサーバにnodeを入れるよりもマスタ/スレーブの利用を検討した方が良いと思う。
Jenkinsレポジトリを使えるようにする
詳細はここでは割愛するので以下を参考にしてください。
やることは、公式のJenkinsレポジトリをcloneしてくる。
git clone https://github.com/jenkinsci/docker.git
【Jenkins】さくっと動かしてみる
https://qiita.com/onceupon05/items/4495a887d8216a8270ae
Dockerファイルへ追記
Dockerファイルに追記することでnodeを使えるようにします。
3行目くらいにapt-getなんとか系のコマンドを実行している部分があるので、そこでvim,sudo,apt-utils,nodeを入れるように書き換えます。
vimは使わない場合は入れなくても良いです。
sudo,curl,nodejsはnodeを入れる際に必要です。
また、
apt-utilsはどこで必要になるかはわかりませんがエラーメッセージが出たのでいれました。なくてもJenkins自体は起動しました。
RUN apt-get update
RUN apt-get install -y git curl vim sudo apt-utils
RUN curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
RUN apt-get install -y nodejs
RUN rm -rf /var/lib/apt/lists/*
これでビルドすればOK。
docker-compose up -d --build
コンテナに入って、
docker exec -it docker_master_1 /bin/bash
nodeのバージョンを確認すると、
node --version
> v8.9.4
入ってますね。
参考文献
【nodeを入れるためのコマンド】
http://atomiyama.com/linux/page/debian-9-2-node-npm/