AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

いろんな開発環境を作る備忘録 2020

闇古戦場中なので、フルオート回しながら検証用環境を作る際の備忘録を書くなど。

紆余曲折あって主担当のインフラ層を越境して、プロダクトの現実装がどうなっているかの回答を求められることが増えてきたので、 macOS 環境以外も用意することにした備忘録です。

ちなみに macOS を使う時、僕は ~/Workspace/ディレクトリを切って、各種コードはこのディレクトリ以下に git clone ~~ としています。 同じ要領で Vagrant も (Vagrantfile で固定出力されるので) ~/Workspace/vagrant/ ディレクトリを作成し、直下に用途別のディレクトリを作成して Vagrantfile (とマウント用ディレクトリとして) を配置しています。 この形式で運用してそろそろ 5 年くらいなのですが、このあたりのディレクトリ設計・運用ってみなさんどうされてるんですかね?

CentOS 7

macOS 上に VirtualBoxVagrant で構築します。 ちなみにデプロイ先のユーザシェルは社内で bash に統一されているので、 bash による #!/bin/bashスクリプトの検証環境を兼ねています。

使うのは以下の box 。

app.vagrantup.com

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 updateanyenv 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 で。