闇古戦場中なので、フルオート回しながら検証用環境を作る際の備忘録を書くなど。
紆余曲折あって主担当のインフラ層を越境して、プロダクトの現実装がどうなっているかの回答を求められることが増えてきたので、 macOS 環境以外も用意することにした備忘録です。
ちなみに macOS を使う時、僕は ~/Workspace/
とディレクトリを切って、各種コードはこのディレクトリ以下に git clone ~~
としています。 同じ要領で Vagrant も (Vagrantfile で固定出力されるので) ~/Workspace/vagrant/
ディレクトリを作成し、直下に用途別のディレクトリを作成して Vagrantfile (とマウント用ディレクトリとして) を配置しています。 この形式で運用してそろそろ 5 年くらいなのですが、このあたりのディレクトリ設計・運用ってみなさんどうされてるんですかね?
CentOS 7
macOS 上に VirtualBox と Vagrant で構築します。 ちなみにデプロイ先のユーザシェルは社内で bash に統一されているので、 bash による #!/bin/bash
的スクリプトの検証環境を兼ねています。
使うのは以下の box 。
Vagrantbox 登録
vagrant init centos/7 vagrant up
最初にやるあれこれ
sudo yum update -y sudo yum install git wget ntpdate # 必要に応じてロケールや時間を追加で設定する
bash-it
git clone --depth=1 https://github.com/Bash-it/bash-it.git ~/.bash_it ~/.bash_it/install.sh vi ~/.bashrc # セッション一回抜けて変更反映する
~/.bashrc
個人的理由で powerline を指定する (デフォルトテーマは別の開発用 box で利用しているので) 。
export BASH_IT_THEME='powerline'
anyenv
plugin も入れてしまって anyenv update
と anyenv git 〜〜
も利用できるようにしておく。
- rbenv
- pyenv
- nodenv
あたりがメインで扱う対象なので、都合に合わせてプロダクトで利用するバージョンを入れる。
git clone https://github.com/anyenv/anyenv ~/.anyenv echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bash_profile source ~/.bash_profile ~/.anyenv/bin/anyenv init vi ~/.bash_profile exec $SHELL -l # だめそうなら物理的にセッション抜けて反映する anyenv install --init mkdir -p ~/.anyenv/plugins;cd $_ git clone https://github.com/znz/anyenv-update.git ./anyenv-update git clone https://github.com/znz/anyenv-git.git ./anyenv-git
~/.bash_profile
最下行に追加しないとだめっぽい。
eval "$(anyenv init -)"
*env: command not found
nodenv とか rbenv が anyenv update 時に command not found
と言われる時がある。 前述したとおり、物理的にセッション抜けて反映するとだいたい治る。
Updating 'anyenv'... Updating 'anyenv/anyenv-git'... Updating 'anyenv/anyenv-update'... /home/user/.anyenv/plugins/anyenv-update/bin/anyenv-update: line 219: nodenv: nodenv: command not found Updating 'nodenv'... Updating 'nodenv/anyenv-git'... Updating 'nodenv/anyenv-update'... /home/user/.anyenv/plugins/anyenv-update/bin/anyenv-update: line 219: rbenv: command not found Updating 'rbenv'... Updating 'rbenv/anyenv-git'... Updating 'rbenv/anyenv-update'... Updating 'anyenv manifest directory'...
WindowsServer
GUI があるので用途に応じてインストーラを入れる。 世にもめずらしい ColdFusion ってやつを利用しているので、 adobe からバイナリもってくるか Docker で。