Rails開発フロー

プロジェクトの作成

cd ~/workspace
rails _4.2.2_ new sample_app
cd sample_app/

Gemの準備

Gemfile編集

source 'https://rubygems.org'

gem 'rails',        '4.2.2'
gem 'sass-rails',   '5.0.2'
gem 'uglifier',     '2.5.3'
gem 'coffee-rails', '4.1.0'
gem 'jquery-rails', '4.0.3'
gem 'turbolinks',   '2.3.0'
gem 'jbuilder',     '2.2.3'
gem 'sdoc',         '0.4.0', group: :doc

group :development, :test do
  gem 'sqlite3',     '1.3.9'
  gem 'byebug',      '3.4.0'
  gem 'web-console', '2.0.0.beta3'
  gem 'spring',      '1.1.3'
end

group :test do
  gem 'minitest-reporters', '1.0.5'
  gem 'mini_backtrace',     '0.1.3'
  gem 'guard-minitest',     '2.3.1'
end

group :production do
  gem 'pg',             '0.17.1'
  gem 'rails_12factor', '0.0.2'
end

インストール

bundle install --without production

Git

git init
git add -A
git commit -m "はじめてのコミット"

README

ファイル名の変更

git mv README.rdoc README.md

内容を編集

# サンプルアプリケーション
これはサンプルアプリケーションです。

変更をコミット

git commit -am "READMEの修正"

GitHub

リポジトリの作成

GitHubのサイト上で作成する。

プッシュ

git remote add origin https://github.com/2626suke/sample_app.git
git push -u origin master

Heroku

heroku create sample-app-001
git push heroku master

FuelPHPパッケージ「Fuel DB Seeder」

Fuel DB Seeder

https://github.com/webfatorial/fuel-db-seeder

インストール方法

composer.json

"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/webfatorial/fuel-db-seeder"
    }
]

"require": {
    "webfatorial/fuel-db-seeder": "dev-develop"
}

Composer実行

composer update --prefer-dist

パッケージを有効化

<?php
'always_load' => array(
    'packages' => array(
        'fuel-db-seeder'
    )
)

シーダー置場の作成

mkdir fuel/app/classes/seeds/

シーダーの作成

Businessforms.php

<?php
namespace Seeds;

class Businessforms
{
    public static function seed()
    {
        \DBUtil::truncate_table('businessforms');
        \DB::insert(
                'businessforms'
        )->columns(array(
            'name',
            'kbn'
                )
        )->values(array(
            '株式会社',
            '01'
                ), array(
            '有限会社',
            '02'
                )
        )->execute();
    }
}

シーディング設定ファイルのコピー

cd fuel/app/config/
cp fuel/packages/fuel-db-seeder/config/db-seeder.php .

シーディング設定ファイルの修正

<?php
'order' => array(
    'Businessforms'
)

シーディング実行

php oil refine seed

マイツール

テキストエディタ

Windows

Mery

項目
既定の改行コード LF
カーソルのある行に下線を表示 ON
フォントのサイズ 12
タブ表示 ON
半角空白表示 ON
全角空白表示 ON
CRとLFを区別して表示 ON
検索文字列の強調を解除 Esc
標準バー OFF

Mac

なし

IDE

オンライン

Cloud9

項目
【PROJECT SETTINGS】Soft Tabs 2
【PROJECT SETTINGS】On Save, Strip Whitespace ON
【PROJECT SETTINGS】Mark Unused Function Arguments ON
【SETTINGS】Hidden File Pattern .c9, .git
【SETTINGS】Font Size 14
【THEMES】Flat Theme ON
【THEMES】Syntax Theme GitHub

WindowsMac

NetBeans

IDE設定

項目
サービス 非表示
ファイル 非表示
ナビゲータ 非表示
ツールバー 非表示
サイドバー 【Win】<実行>左端配置
Mac】<ナビゲート>左端配置
ブレッドクラム 非表示
出力 表示、最小化
デバッグ 最小化
通知 最小化

エディタ設定

項目
【ALL】コード折りたたみを有効化 OFF
【ALL】タブのサイズ 4
【ALL】右マージン 200
PHP】フォーマット_クラス宣言 改行
PHP】フォーマット_メソッド宣言 改行
【ALL】再フォーマット すべての行
【ALL】末尾の空白を削除 すべての行
自動補完_true 小文字
自動補完_false 小文字
自動補完_null 小文字

オプション設定

カテゴリ 項目
デバッグ 最初の行で停止 OFF

SSHクライアント

Windows

TeraTerm

項目
TTSSH ON
TeraTermMenu ON
プログラムグループを作成しない ON
追加タスク すべてOFF

TeraTermMenu

Mac

TotalTerminal

全文検索

Windows

タブもじ検

Mac

なし

ブラウザ

WindowsMac

Chrome

項目
ホームボタンを表示する ON

FTPクライアント

Windows

FFFTP

Mac

なし

仮想環境

WindowsMac

VirtualBox

Vagrant

VagrantManager

項目
Launch at login ON

バージョン管理

Windows

Msysgit

項目
Components 最小構成
Don't create a Start Menu folder ON
Run Git from the Windows Command Prompt ON
Checkout as-is, commit as-is ON

TortoiseGit

項目
TortoiseGit日本語言語パック インストール
差分ビューア WinMerge
ユーザ情報 設定

Mac

SourceTree

差分ツール

Windows

WinMerge

Mac

なし

コミュニケーション

Windows

IPMessenger

Mac

なし

リモートデスクトップ

Windows

RealVNC

Mac

なし

メールクライアント

Windows

Outlook

Mac

Gmail

FuelPHP本番デプロイ

はじめての本番デプロイ

サーバー設定

項目
ドメイン 任意
公開フォルダ MyProject/public
PHPバージョン 5.4

データベース作成

項目
作成するサーバー 選択
データベース名 アカウント名+MyProject
接続パスワード パスワード

本番用に改修

fuel/app/config/production/db.php

項目
ホスト サーバー情報参照
DB名 サーバー情報参照
ユーザー名 サーバー情報参照
パスワード dummy

public/index.php

項目
エラー表示 【本番】OFF【開発】ON
実行時間とメモリ使用量の表示 OFF

fuel/app/bootstrap.php

項目
\Fuel::$env 環境変数なしなら「本番」とみなす

public/.htaccess

項目
FUEL_ENV development
Options +FollowSymLinks -Indexes OFF

本番サーバーに最新ソースを配置

本番サーバーにSSH接続
cd web
git clone MyRepository
cd MyProject
export PATH=/usr/local/php5.4/bin:$PATH
php composer.phar install --no-dev --prefer-dist -o

本番ソースを改修

fuel/app/config/production/db.php

項目
password パスワード

マイグレーション

/usr/local/php5.4/bin/php oil refine migrate

マスターデータ挿入

/usr/local/php5.4/bin/php oil refine seed

本番更新

本番サーバーに最新ソースを配置

git pull
export PATH=/usr/local/php5.4/bin:$PATH
php composer.phar update --no-dev --prefer-dist -o

マイグレーション

/usr/local/php5.4/bin/php oil refine migrate

マスターデータ挿入

/usr/local/php5.4/bin/php oil refine seed

FuelPHP開発環境構築

VirtualBoxのインストール

https://www.virtualbox.org/wiki/Downloads

Vagrantのインストール

https://www.vagrantup.com/downloads.html

VagrantManagerのインストール

http://vagrantmanager.com/downloads/

設定

マイツール - nimusuke’s diary

VM構築→起動

https://github.com/2626suke/vagrant-lamp

mkdir MyProject
cd MyProject
git clone https://github.com/2626suke/vagrant-lamp.git .
rm -rf .git README.md
vagrant up

FuelPHPのインストール

http://fuelphp.jp/docs/1.8/installation/instructions.html

vagrant ssh
curl get.fuelphp.com/oil | sh
cd /vagrant
oil create fuelphp
mv fuelphp/{*,.*} ./
rm -rf .git *.md fuelphp

バージョン管理

Git設定

git config --global user.name "2626suke"
git config --global user.email "2626suke@example.com"
git config --global color.ui true
git config --list

はじめてのコミット

GitHubにリポジトリを作成
cd MyProject
.gitignoreに.vagrantを追加
git init
git add .
git commit -m "はじめてのコミット"
git remote add origin MyRepository
git push -u origin master

PHPUnitのインストール

vagrant ssh
cd /vagrant
composer require phpunit/phpunit:4.7.* --dev --prefer-dist
fuel/vendor/bin/phpunit --version

データベースの作成

MySQLに接続
CREATE DATABASE `MyProject_dev` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE `MyProject_test` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

NetBeansのインストール

https://netbeans.org/downloads/

IDE設定

マイツール - nimusuke’s diary

エディタ設定

マイツール - nimusuke’s diary

オプション設定

マイツール - nimusuke’s diary

プラグイン

プロジェクトの作成

作成時

項目
プロジェクトを選択 既存のソースを使用する
ソースフォルダ MyProject
プロジェクト名 MyProject
PHPのバージョン PHP 5.4
デフォルトのエンコーディング UTF-8
実行方法 ローカルWebサイト
プロジェクトURL http://33.33.33.10/
開始ファイル public/index.php

作成後

項目
デバッグURL 毎回聞く
FuelPHP 有効
自動補完用ファイル 作成

FuelPHPの設定

fuel/app/config/config.php

項目
language ja
locale null
default_timezone Asia/Tokyo

fuel/app/config/development/db.php

項目
dbname MyProject_dev
username root
password pass

fuel/app/config/test/db.php

項目
dbname MyProject_test
username root
password pass

fuel/app/config/oil.php

項目
binary_path VENDORPATH . 'bin/phpunit'

表示

http://33.33.33.10/

これまでの変更をコミット

cd MyProject
git add .
git commit -m "設定周り"
git push