サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ドラクエ3
kkurahar.github.io
Amazon EC2 に Stash をインストールして、既存のGitリポジトリを移行してみました。 今回は、EC2上に Stash をインストールし、リポジトリを移行する前までの手順をまとめています。(無料トライアル) ちなみに、下図のような Proxy Server(Nginx) を挟んだ構成です。 構築環境 OS: Amazon Linux AMI 2013.03.1 Stash: 2.7.2 DB: MySQL 5.5.32 Java: 1.6.0_24 Git: 1.8.1.4 Check version Java Perl Git の version をチェックして条件を満たしているか確認します。 $ java -version java version "1.6.0_24" OpenJDK Runtime Environment (IcedTea6 1.11.11.9
Node.jsに限らず、実行環境毎にデータベースのホストや、アクセスポート等の設定は違うかと思います。 Node.jsでは下記のようにすることで、簡単に実行環境毎の設定でアプリケーションを実行することができます。 構成 Node.js + express + mongodb 実行環境毎の設定 例として、expressフレームワークでデフォルトで用意されている app.js 内で以下のように記述します。 app.configure('development', function(){ app.set('port', process.env.PORT || 3000); app.use(express.errorHandler()); }); app.configure('production', function(){ app.set('port', process.env.PORT ||
既存のプロジェクトでは、fluentd(td-agnet)とmongodbを利用してログを収集し、日々のログ解析に役立てています。 主にproxyサーバーやwebサーバー等のアクセスログやユーザ行動ログ等を収集しているのですが、何も設定していないと不必要なログまで収集してしまうため fluent-plugin-filter を使ってログのフィルタリングを行なってみます。 muddydixon/fluent-plugin-filter 環境構成 OS: Amazon Linux AMI 2013.03 td-agent: fluentd-0.10.33 インストール $ sudo /usr/lib64/fluent/ruby/bin/gem install fluent-plugin-filter Fetching: fluent-plugin-filter-0.0.0.gem (100%
今までZabbix Alertsは担当者にメールで通知していましたが、HipChatにZabbix Alertsを通知することでとても利便性が向上しましたので紹介したいと思います。 環境 zabbix: 2.0.6 まず、API Token と Room ID を取得しておきます。 API Auth Tokens Tokenはこちらから取得(作成)できます。(要 Sign in) HipChat - API Tokens Room ID Group admin > Rooms > Room API ID が Room IDになります。
Jenkinsのビルド結果等を HipChatというチャットツールに通知してみたいと思います。 環境 Jenkins: 1.515 Jenkins HipChat Plugin: 0.1.4 Jenkins HipChat Plugin まずはプラグインのインストールから。 Jenkinsの管理 → プラグインの管理 → 利用可能 2種類ありますが、 This plugin is a HipChat notifier that can publish build status to HipChat rooms. と説明書きがされている方です。 API Auth Tokens 続いて、 HipChat から API Token を取得します。 Tokenはこちらから取得(作成)できます。(要 Sign in) HipChat - API Tokens Type: Notification
アプリケーションのパフォーマンス監視にはNew Relicを利用しています。 インフラはAWSを利用していますので、newrelic_aws_cloudwatch_pluginというプラグインを使用して、New RelicでAWSメトリクスをモニタリングしてみたいと思います。 AWSを利用している場合、下記のURLからアカウントを作成すると Standard account が無料で作成できます。(通常だと1ホストにつき $24/month ) AWS & Free New Relic SaaS Application Performance Monitoring 参考にさせていただいたサイト: NewrelicでAWS環境のメトリクスをカジュアルに共有してみる How to install Ruby 1.9.x on Amazon EC2 環境 OS:Amazon Linux AMI
Jenkins + Hubot + HipChatでChatOps的な何か Oct 27th, 2013 こちらの記事を読んで便利そうだなと思い、早速プロジェクトの開発フローに導入してみました。 導入してからひと月程の運用ですが、とても重宝しています。Hubotもそうですが HipChat にほぼすべての開発に関わる情報を集約できているというところが大きいと感じています。 やったこと ・HipChat上で /build や /deploy などと発言するとGitリポジトリからcloneして、ビルド & テストを実行し、指定した環境へデプロイを行なう。 ・緊急時は /rollback などと発言すれば指定した世代分ロールバックが実施される。 ・/status などと発言すればサイトの簡単な稼働状況確認ができる。 環境 インフラ: AWS(EC2) CIツール: Jenkins Git
Github社製の Hubot というBotフレームワークを導入してみましたので、その手順です。 コミュニケーションツールには HipChat を利用していますので、HipChat Adapter設定を行なうところまでやっていきたいと思います。 環境 OS: Max OS X Hubot: 2.5.1 Homebrewをインストールしてない場合は、インストールしておいてください。 create user hubot用のhipchatユーザーを作成します。 ※ 最初作成せずやっていたので、少し嵌ってしまいました。 Redis データ永続化の為に、Redisをインストールします。 (インストールしなくてもHubotの動作確認はできます。※ 後述) install
EC2上に、Git(gitolite)サーバーを構築して、クライアント(mac)から接続確認を行うとことまで。 サーバー側(EC2)の設定 Install GIT $ sudo yum install git perl-Time-HiRes $ sudo useradd git $ git config --global user.email "****@****" $ git config --global user.name "****"
2013/07/08 19:35:11 [error] 28114#0: *4154587 upstream timed out (110: Connection timed out) while connecting to upstream time:17/Jul/2013:19:24:32 +0900 host:**.**.**.** method:POST uri:******* status:499 reqsize:1936 ressize:0 size:0 reqtime:59.998 apptime:- referer:*************** ua:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36 構成
FuelPHPでメール送信処理を行なう場合は、通常Emailパッケージを利用するかと思います。 以前のエントリ FuelPHP + AWS SDK for PHP 2でFuelPHPに AWS SDK を組み込んだので、Emailパッケージの代わりに Amazon SES を使ってメール送信処理を行ってみました。 できること ・プレーンテキストメール ・HTMLメール ・添付ファイル Mail_Mime 添付ファイルをサポートするために、SDKの他に Mail_Mimeというパッケージを 使いますので、まずは Mail_Mime をインストールします。 インストール $ sudo pear install Mail_Mime ownloading Mail_Mime-1.8.8.tgz ... Starting to download Mail_Mime-1.8.8.tgz (32,0
PHPでWEBアプリを実装する際は、WEBフレームワークにFuelPHPを採用しています。 そして、インフラは全てAWSを利用していますので、AWSの各サービスを利用する際はSDKをFuelPHPに組み込んだほうが使い勝手がよくなると思い試してみました。 ローカル環境 OS: Mac OS X FuelPHP: 1.3 myprojectは時代に追いついていないようですので、ローカルでcomposerを使用し手動でSDKをインストールしております。(1.6 に version up したい) macでcomposerを使う場合はhomebrewで管理するのが良いかと思います。 以前のエントリ Homebrew で Composer をインストールする方法 を参照してください。 AWS SDK for PHP 2 をインストール Installing via Composer 適当なディレ
任意のブランチをmasterブランチにマージする前に、Jenkinsで静的分析やテスト実行をしたいというニーズがあったので、任意のブランチにpushしたら CIできるように設定をしてみました。 環境構成 OS: Amazon Linux AMI 2013.03 64bit Git: 1.7.4.5 Jenkins: 1.505 Jenkins設定 ジョブ設定 ビルドのパラメータ化 → パラメータの追加 → 文字列 下記のように、「名前」と「デフォルト値」を設定する ソースコード管理システム → Git → Branches to build 下記のように、「Branch Specifier (blank for default):」に先ほど設定した変数 $branch_name を設定 ただ単に、Jenkinsの画面で毎回ビルド実行をするだけでしたらこれで設定は終わりです。 あとは下記
Jenkins1.501 + Subversion1.7 + PHP5.4(FuelPHP1.4) Amazon Linux AMI release 2012.09 EC2上に、FuelPHPプロジェクトをJenkinsで自動ビルドできるところまで構築していきます。 ※上から順に実行していけば動くはず。 各プラグインの説明などは他で詳細な情報があるのでそちらを参照ください。 必要なパッケージのインストール
これまでDB管理は、Develop環境はphpmyadminで、Production環境は独自のSQLスクリプトで行なっていました。 が、DBもCI(Jenkins)で管理できるように、DBマイグレーションツールを探していたところ「Flyway」という簡単に導入して試すことができそなツールを発見したので、 さっそく導入して行きたいと思います。 Flywayとは Flyway: the agile database migration framework for Java 構築環境 AmazonLinux AMI 2012.09.1 RDS(MySQL 5.5) Flywayのセットアップ Flywayを利用する方法は、いくつかあるのですがCI環境で運用していくので、Command-line Toolを使用します。 ダウンロード Flywayのダウンロード Download - Flywa
Nginxのログ(LTSV形式)をFluentd(td-agent)で処理する Mar 22nd, 2013 今運用しているプロジェクトで、ログ解析はfluentd(td-agent)とmongodbを利用しています。 最近、LTSVというログフォーマットが流行っているみたいなので、今回はnginxのアクセスログフォーマットをLTSVに変更し、mongodbで確認するところまでやってみたいと思います。 LTSVについてはこちらが分かりやすいです。 参考: LTSV FAQ - LTSV って何? どういうところが良いの? - naoyaのはてなダイアリー nginx設定 confの修正 今までは、”main”を使用していましたが、”ltsv”というタグで新しく追記します。 /etc/nginx/nginx.conf log_format main '$remote_addr - $rem
$ sudo vim post-update #!/bin/sh # # An example hook script to prepare a packed repository for use over # dumb transports. # # To enable this hook, rename this file to "post-update". #exec git update-server-info wget --spider --auth-no-challenge --http-user=userid --http-password=password http://myproject.jenkins.com/job/myproject/build?token=myprojecttoken&cause=git-push token : 最初にJenkinsで設定したプロ
Jenkins1.501 + Git1.7.4.5 + PHP5.4(FuelPHP1.4) Amazon Linux AMI release 2012.09 以前のエントリJenkinsをAWS上に構築するでは、連携させるバージョン管理システムにSubversionを利用していましたが、 今後はGitを利用する方向になっていくと思いますので、Gitとの連携を行なって行きたいと思います。 ちなみに、Gitサーバー構築手順はこちらになります。 (上記エントリのGitサーバー設定で話を進めていきます) Jenkinsサーバー設定 /etc/passwdの変更 私の場合、yumでJenkinsをインストールしましたので、このようにjenkinsユーザでログインが不可能となっています。
AmazonLinux 2012.09.1にNode.js/npm/expressをインストールするところまで。 AmazonLinuxのアップデート
Node.jsで簡単なログイン画面を作成。 フレームワークは Express 、テンプレートエンジンは Jade 、セッションストアとユーザーデータは MongoDB を利用します。 構成 ├── app.js ├── models │ └── user.js ├── routes │ └── index.js └── views ├── index.jade ├── layout.jade ├── login.jade └── login_layout.jade 概要 ログイン認証していない場合は、ログイン画面へ遷移し、ログイン認証している場合はTOP画面へ遷移 ログイン画面は Jade テンプレートエンジンを使用、CSSフレームワークに Bootstrap を利用 また、セッションデータ保存は MongoDB を使用し、MongoDBのセッションストア用に connect-mo
運用中のRDS(MySQL)の文字コードを”utf8mb4”に変更したので、その手順のメモです。 AWS RDS CLIのセットアップ 例としてローカルマシン(mac)にセットアップします。 ダウンロード まず、こちらから「Amazon RDS Command Line Toolkit」をダウンロードします。 環境変数設定 私の場合、シェルにbashではなくzshを使用しているので、環境変数設定は以下ように設定しています。 ~/.zshenv # Amaozn Web Service Setting export AWS_PATH=/Users/kkurahar/workspace/aws export AWS_CREDENTIAL_FILE=$AWS_PATH/credentials.txt PATH=$PATH:$AWS_PATH/bin # Amazon RDS CLT Settin
Amazon EC2にChef-solo環境を構築した時のメモ。 こちらの書籍を参考にしています。 とても分かりやすかったのでオススメです! 今回は、リモートサーバーに対してChef-soloを実行し、確認するところまで。 環境構成 OS: Amazon Linux AMI 2013.03 Chef-solo: 11.4.0 knife-solo: 0.2.0 chef-solo,knife-solo設定 まず、knife-soloインストールに必要なパッケージをインストールします。
このページを最初にブックマークしてみませんか?
『kkurahar.github.io』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く