why semaphore
semaphoreはansible towerというwebGUIからansible-playbookを実行するツールのOSS版です。
dependencies
MySQL >= 5.6.4/MariaDB >= 5.3
ansible in $PATH
git >= 2.x in $PATH
setup
公式ではmysqlはdockerでセットアップしています
docker run -d --name=mysql -p 127.0.0.1:3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql
普通にサーバ上に入れる場合はyum
などを使ってください。
- mysql
install.sh
sudo yum install mysql-community-server mysql-community-client mysql-community-common mysql-community-libs mysql-community-libs-compat
- ansible
epel repoで提供されているので追加しinstallする
install.sh
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum install ansbile
- semaphore
release ここからディストリビューションにあったバイナリを取得
install.sh
curl -L https://github.com/ansible-semaphore/semaphore/releases/download/v2.0.4/semaphore_linux_amd64 > /usr/bin/semaphore
あとは下記でsetupが開始されます
/usr/bin/semaphore -setup
setup中、mysqlの情報やアカウント情報などの入力が求められるので、自分の環境に沿ったものを入力(入力した情報はconfig.jsonに記載される)
以上でsetupは完了
あとはconsoleに出力されている通り起動する
/usr/bin/semaphore -config /tmp/semaphore/semaphore_config.json
nohup /usr/bin/semaphore -config /tmp/semaphore/semaphore_config.json > /dev/null 2>&1 &