fabricをWebUI上で実行するFabricBoltを触ってみる

Published: 2016年6月4日 by tomsato

概要

FabricBoltというfabricのコマンドを

WebUI上で実行するツールについて紹介する

準備

fabric自体のインストールはこちら

pythonを2.7になっていなかった場合はアップデート

// rootユーザ変更
$ sudo su -
// pyenvをクローン
# git clone https://github.com/yyuu/pyenv.git ~/.pyenv
// パスを通す
# echo 'export PYENV_ROOT=$HOME/.pyenv' >> ~/.bash_profile
# echo 'export PATH=$PYENV_ROOT/bin:$PATH' >> ~/.bash_profile
# echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
# source ~/.bash_profile
// インストール可能なバージョン一覧を取得
# pyenv install -l
// 2.7.11をインストール
# pyenv install 2.7.11
// 2.7.11に切り替える
# pyenv global 2.7.11
// 確認
# pyenv version
2.7.11 (set by /root/.pyenv/version)
# python -V; which python
Python 2.7.11
/root/.pyenv/shims/python

// fabric-boltでは/usr/bin/pythonが使われるのでそっちのバージョンを2.7にする
# mv /usr/bin/python /usr/bin/python_bak
# ln -s /root/.pyenv/versions/2.7.11/bin/python /usr/bin/python
# /usr/bin/python -V
Python 2.7.11

pythonのバージョンをあげるとyumが新しいバージョンに対応してなくてエラーになるので修正する

// 2.7を指定する
# sudo vim /usr/bin/yum
#!/usr/bin/python
↓
#!/usr/bin/python2.6

FabricBoltの用意

# pip install --upgrade pip
# yum -y install python-pip gcc gcc-c++ kernel-devel python-lxml libxslt-devel
# pip install fabric-bolt
// 設定ファイルの作成
# fabric-bolt init
Configuration file created at '/root/.fabric-bolt/settings.py'
// 設定ファイルの修正
// 最後に以下の2行を追加する
# vim .fabric-bolt/settings.py
ALLOWED_HOSTS = ['*']
DEBUG = True
# fabric-bolt migrate
// adminユーザの作成
# fabric-bolt createsuperuser
Email address: XXX
Password:
Password (again):
Superuser created successfully.
// 起動 XXXはサーバのipを指定
# sudo -E /root/.pyenv/shims/fabric-bolt --config=.fabric-bolt/settings.py runserver XXX.XXX.XXX.XXX:8080

XXX.XXX.XXX.XXX:8080にアクセスするとFabricBoltのログイン画面が表示される
fabricbolt01

使ってみる

ログインしてみる

fabricbolt02

「Projects」の「Add Project」より新規にProjectを作成する

Name プロジェクト名
Description プロジェクトの概要
Use repo’s fabfile? 指定したGitリポジトリのfabfileを利用するか
チェックしない場合はデフォルトのfabfileを使うことになる
Repo url 「Use repo’s fabfile?」にチェックした場合にリポジトリを指定する
Fabfile requirements 必要なものをpipからインストールする

今回はtestプロジェクトを作成する

fabricbolt03

無事に作成できた

fabricbolt04

「Add Stage」よりstageを作成する
Stage毎にhost名を指定できてfabricのタスクを実行することになるので
テスト環境と本番環境という単位で作成するのかも

fabricbolt05

「Create Stage」を実行するとStageが作成されている

fabricbolt06

次にhostの登録を行う
画面上部の「Hosts」タブに遷移して「Add Host」をクリックしてサーバの登録を行う
1台ずつしか登録できなさそう…
fabricbolt07

作成したStageのページに戻ってみると登録したサーバが選択できるようになっている
またデフォルトとして登録されているタスクが確認できる

fabricbolt08

試しに「test_env」を実行する

  1. 「Select Host」で先ほど登録したサーバを選択
  2. 「Add Stage Host」で選択したサーバをStageに登録する
  3. 「All Tasks」のプルダウンからtest_envを選択

すると確認画面に遷移してコメントを記述することができる

fabricbolt09

Go!

とりあえず成功した

fabricbolt10

感想

  • 準備が結構面倒
  • リポジトリを指定しての実行は試してどうなるか…
  • 指定時間実行できなさそうな気がする…
  • サーバの登録が1台づつしかできないので面倒だったりする

まとめ

FabricBoltをちゃんと使っていくとすると結構骨が折れそうな気がしました

Share

最近の投稿

NetlifyのSplit TestingとFunctionsについて使い方をまとめる Split TestingはGitHubのブランチをベースにしたA/Bテストを行うための機能のことで、FunctionsはNetlifyでAWS Lambdaを使うことができる

NetlifyとはHTMLなどの静的コンテンツのみで構成されたWebサイトを閲覧できる形で配信するWebサービス GitHubやBitbucket、GitLabなどと連携して使うことができて、リポジトリにプッシュすることで自動でCI/CDを行うことができる、無料枠が豊富で独自ドメインを設定可能

WordPressからJekyll(GitHub Pages)に移行した手順をまとめる。 お金的な事情や使いやすさなどの理由で無料のJekyll+GitHub Pagesに移行した。JekyllとはMarkdown等から静的ページを生成する静的サイトジェネレータ

Scala開発のためにScalaらしさをまとめる 言語設計者の設計思想を元にScalaらしさについてまとめる オブジェクト指向と関数型の融合について

StorybookとはUI開発環境を提供するツール React、React Native、Angular、Vueなどをサポートしている ユーザーは独立した開発環境でコンポーネントを個別に作成して挙動の確認をテストできたり、コンポーネントを一覧にしてカタログ化できるので他の人に紹介する時に使えたりする

カテゴリ一覧

タグ一覧