投稿

6月, 2015の投稿を表示しています

よく検索するGitコマンドの覚書。自分用

イメージ
gitも慣れてきたけど、たまにしか使わないのだけ覚書。Windows8.1からLinuxの共有ファイル上でコマンド打っている。Git for Windowsに付属している「Git Shell」がブランチ名をtab補完出来たり使いやすい。基本コマンド忘れたら「-h」で確認。
# git commit -h前のコミットに上書き
# git commit --amend2つのコミットを1つにする
# git rebase間違えて社内GitLabアカウントでGitHubにプッシュしてしまったとき。Changing author info - User Documentation | GitHubPush処理後に作業していたローカルリポジトリをリモートに合わせる
# git fetch origin
# git reset origin/masterGitLab上でブランチを削除したあとに作業クライアントで同期させる(git fetchでは取りに行くだけで同期しない)
# git fetch --prune全部追加して、特定のファイルだけ管理対象から外したいとき
# git add --all
# git rm --cached hoge.configコンフリクトした後などに特定のファイルはorigin/masterで上書きしたい
# git checkout origin/master -- /path/to/file設定ファイルはローカルリポジトリが正しい
# git checkout HEAD -- /path/to/fileブランチを作る前にmasterにコミットしてしまった場合。コミットをなかったことにして、ブランチに反映させる。
# git reset --soft HEAD^
# git checkout -b develop
# git commit -m 'developing some features'ブランチの名前付けとか参考になったgit,GitLabを1年半使った現状 TECHSCORE BLOGgit 2.0からgit posh originのデフォルト動作が変わるらしい。今まで同じ動作にしたい場合
# git config --global push.default matching前のバージョンを試したいとき。今やっている作業を一時退避
$ git st…

Google Container Engineについて調査

イメージ
6月18日にあったGoogleのカンファレンス「Next」に参加して、Google Container Engineを試そうと思ったときの覚書。「Kubernetes のコンテナ技術ですべてをシンプルに」のセッションを聞いて、Google Container Engineはコンテナの技術をかなり使いやすく提供している印象。Container Engine | Google Cloud Platform今までロードバランサーと複数の仮想マシンで冗長化、負荷分散の環境を構築してたのが一気に必要なくなる。新しいバージョンをリリースするのも(戻すのも)コンテナを切り替えるだけ。コマンド一発でサービスを止めずにいい感じに切り替えてくれる。参考サイトよしづみぶろぐ: AWSよりGoogle Compute Engineを選びたくなる10の理由Dockerを管理するKubernetesの基本的な動作や仕組みとは? Kubernetesを触ってみた。第20回 PaaS勉強会 - Publickeyカゴヤの安い仮想マシンにJenkins + GitLab + Redmineをインストールして、Container Engineに自動でデプロイする環境を構築するつもり。メールの送信は直接送れないので、提携サービスを使ったり、DBに保存して外のサーバーからDB参照して送る必要がありそう。Sending Email from an Instance - Compute Engine | Google Cloud Platform今開発しているサービスも来年にはコンテナに移行する予定。< Related Posts >MariaDB Galera Clusterをインストールしてデータベースをクラスター化

Picasa Web Albums Data API v2 + PHPでアルバム一覧取得(OAuth2)

イメージ
Picasa Web Albumsに保存してある非公開のアルバムと写真を表示する機能を作ったのだけれど、メールアドレスとパスワードでログイン出来なくなったのでOAuth2を使うようにしたときの覚書。参考Picasa Web Albums Data API  | Google Developers目次デベロッパーコンソールでAPI設定PHPライブラリアルバム一覧を取得1.デベロッパーコンソールでAPI設定全て公式ドキュメントに書いてある。Using OAuth 2.0 to Access Google APIs | Google Identity Platform | Google DevelopersGoogle Developers Consoleでプロジェクト作成して「認証情報」から「新しいクライアントIDを作成」する。アプリケーションの種類は「ウェブアプリケーション」。「サービスアカウント」で認証画面とか表示せずに利用しようとしたけど、認証しても「default」が登録したGoogleアカウントにならなかった(公開情報にはアクセスできた)。詳しく調べれば方法があるかもしれない。。。「ウェブアプリケーション」+「オフラインアクセス」で実現できることが分かった。Using OAuth 2.0 for Web Server Applications | Google Identity Platform | Google Developers2.PHPライブラリ公開されているライブラリを使う。google/google-api-php-client | GitHubWordPressプラグインとして公開されている「PWA+PHP Picasa Web Albums for WordPress」はライブラリを使わずに頑張って自前で実装してる。何かの参考になるかもしれない。3.アルバム一覧を取得ライブラリを使ったアルバム一覧を取得するまでの手順setAccessType('offline')でリフレッシュトークンも取得するように設定 createAuthUrl()へリダイレクトして認証コードを取得 authenticate(認証コード)でアクセストークンとリフレッシュトークンをJSON形式で取得 JSON形式のままデータベースに保存 setAcc…

PHPからJavaScriptを実行できるExtension「v8js」をビルド(CentOS7で成功)

イメージ
PHP+React.jsで開発したくて彷徨っている時の覚書。環境(CetnOS6): CentOS 6.6, gcc 4.8.2-15
環境(CetnOS7): CentOS 7.1, gcc 4.8.3-9PHPからJavaScriptを実行できるExtensionをビルドする。preillyme/v8js | GitHub結局CentOS6だとPHPエクステンションの読み込みでエラーになる。CentOS7だとREADME.Linux.md通りで簡単に成功した。以下CentOS6のときのログ目次v8をソースコードからビルド v8jsをビルド PHPの設定1.v8をソースコードからビルド別記事を参考にSE奮闘記: CentOS6でv8をソースからビルドv8をビルドしたディレクトリに移動してファイルをコピー
# cd /opt/software/v8/
# cp out/native/lib.target/lib*.so /usr/lib/
# cp -R include/* /usr/include
# echo -e "create /usr/lib/libv8_libplatform.a\naddlib out/native/obj.target/tools/gyp/libv8_libplatform.a\nsave\nend" | sudo ar -M2.v8jsをビルドv8jsをクローンしてビルド実行
# cd /opt/software/
# git clone https://github.com/preillyme/v8js.git
# cd v8js
# phpize
# ./configure
# make
# make test
# make installInstalling shared extensions:     /usr/lib64/php/modules/3.PHPの設定作成したエクステンションをPHPで読み込む
# echo "extension=v8js.so" > /etc/php.d/v8js.iniPHP再起動
# /etc/rc.d/init.d/php-fpm restartエラーStarting php-fpm: [11-Jun-2015 13:01:12] NOTICE: PHP messag…

PHPからJavaScriptを実行できるExtension「v8js」をビルド(失敗編)

イメージ
PHP+React.jsで開発したくて彷徨っている時の覚書。環境: CentOS 6.6PHPからJavaScriptを実行できるExtensionをビルドする。preillyme/v8js | GitHub先に結論を書くと、YUM経由のV8は古い。V8をソールからビルドしてもCentOS6の環境では動かない。CentOS7だとREADME通りにビルド出来る。成功編は明日アップする。目次libv8をビルド v8jsをビルド1.libv8をビルドv8jsをビルドしたときに「libv8がない」と怒られたので、これでいいのかなぁと思いつつやってみた。結局V8をソースからビルドすれば必要なかった。Rubyの最新版をインストールするのは前の記事を参考に。SE奮闘記: GitをSourceからBuildしてRubyの最新版をInstallRubyのbundlerをインストールしておく
# gem install bundler --no-rdoc --no-ricowboyd/libv8 | GitHublibv8をインストールする
# cd /opt/software
# git clone git://github.com/cowboyd/libv8.git
# cd libv8/
# bundle install
# bundle exec rake checkout
# bundle exec rake compileエラーNo manual entry for git-svn
/opt/software/libv8/ext/libv8/checkout.rb:48:in `check_git_svn!': git-svn not installed! (RuntimeError)GitHub上で検索してみると「git help svn」がないとこのエラーになるらしい。前に作っておいたgitのソースコードをクローンした場所に移動して、ついでに最新版のgitをインストールする。
# cd /opt/software/git
# git pull
# make clean all
# make all docエラー1回目/bin/sh: line 1: asciidoc: command not foundエラー2回目/bin/sh: line 1: xmlto: command no…

CentOS6でv8をソースからビルド

イメージ
React-PHP-V8jsを試したくてV8をソースコードからコンパイル・ビルドしたときの覚書。YUM経由のV8は古い(3.14)のでv8jsをビルド出来ない。環境: CentOS 6.6結局CentOS6だとv8jsをビルドしたものの読み込むときにエラーになる。CentOS7だとGCCやPythonを別途アップデートしなくてもビルド出来るのでオススメ。参考v8js/README.Linux.md at master · preillyme/v8js | GitHubLinuxBuildInstructionsPrerequisites - chromium - Prerequisites for building. - An open-source project to help move the web forward. - Google Project Hosting目次  ツール群「depot_tools」をインストール V8をダウンロードしてインストール Python 2.7をインストール V8をビルド(失敗) GCCを4.8にアップデートする V8をビルド(3.31で成功)1.ツール群「depot_tools」をインストール ビルド用にLinux開発ツールをインストールしておく。
# yum groupinstall "Development Tools"# cd /opt/software/
# git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
# export PATH=`pwd`/depot_tools:"$PATH"2.V8をダウンロードしてインストール depot_toolsのfetchコマンドでダウンロードする
# fetch v8エラー Failed to fetch file gs://chromium-clang-format/7219213d084db0ea8eaed8f4291814f4f46fad3a for v8/buildtools/linux64/clang-format. [Err: Traceback (most recent call last)# cd v8/ブランチを確認…

CentOS6のGCCをYUM経由(devtoolset2)でUpdate

イメージ
V8をビルドしようとしてズブズブと深みにハマっているときの覚書。環境: CentOS 6.6参考yum - How to Install gcc 4.7.x/4.8.x on CentOS - Super UserDevtools for CentOS | Ed Braaten's Blogdevtoolsetを使うと既存の環境に影響を与えずに新しいgccを使えるようになるらしい。上記サイトにYUM経由でアップデートする方法があるので、基本これに従う。仮想環境で実行している場合はスナップショットをとっておく。# cd /etc/yum.repos.d/
# wget http://people.centos.org/tru/devtools-2/devtools-2.repodevtoolset-2のGCC, GCC-C++をインストール
# yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++インストールされたのを有効に
# scl enable devtoolset-2 bash確認
# gcc --versiongcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15)どこにインストールされたか確認
# rpm -ql devtoolsset-2-gcc常に有効にする場合は下記記事を参考に。Permanently Enable a Software Collection | Red Hat Developer BlogV8をコンパイル出来たけど、v8jsはCentOS6の環境で動かなかったので結局元に戻した。CentOS7だとgcc 4.8.3でv8jsも問題なく動くのでこちらを使った方がいい。< Related Posts >CentOSにpyenvをInstallしてPythonを2.6から2.7に切り替え

CentOSにpyenvをInstallしてPythonを2.6から2.7に切り替え

イメージ
V8をビルドするときにpython 2.6だとエラーになったので2.7にアップデートしたときの覚書。環境: CentOS 6.6せっかくなのでnvmやrbenvみたいにバージョン管理システムpyenvをインストールしてみる。参考yyuu/pyenv | GitHubまずはクローン
# 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 help
# pyenv install -lコマンドはGitHub上でも詳細を確認できる。pyenv/COMMANDS.md at master · yyuu/pyenv | GitHub2.7.10をインストールする
# pyenv install 2.7.10WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?
WARNING: The Python sqlite3 extension was not compiled. Missing the SQLite3 lib?確認
# pyenv versions* system (set by /root/.pyenv/version)
  2.7.102.7.10に切り替え
# pyenv global 2.7.10
# pyenv versi…

CentOSにmemcachedをInstallしてPHPからCacheとして利用 for GAE

イメージ
WordPressをGoogle App Engineに移行したときに、GAEはmemcachedを使うので開発環境にインストールしたときの覚書。環境: CentOS 6.6, PHP 5.4.41参考サイトPHPセッションをmemcachedで管理する件 - Qiita目次memcachedサーバーをインストールPHPから利用するためのモジュールをインストール1.memcachedサーバーをインストールremiリポジトリからインストールされた
# yum install memcachedサービスの起動と自動起動登録
# /etc/rc.d/init.d/memcached start
# chkconfig memcached on2.PHPから利用するためのモジュールをインストールGAE用WordPressテンプレートは「Memcache」を利用しているので、「d」が付いてないのをインストール
# yum install php-pecl-memcache
# /etc/rc.d/init.d/php-fpm restartこれで開発環境が整った。管理コンソールでGitリポジトリを使ってみたのだけれど、どうやってGitリポジトリの方にデプロイを切り替えるのか分からない。What are Cloud Source Repositories? - Cloud Source Repositories | Google Cloud Platform< Related Posts >既存のWordPressサイトをGoogle App Engineに移行WordPressのCache機能をAPCからRedisに変更

Redmineに「Redmine Git Hosting」PluginをInstall(途中で諦め)

イメージ
Redmineで各プロジェクトのリポジトリを設定しているときにデフォルトのブランチを設定出来ないかと調査したときの覚書。masterから納品先ごとにブランチ切っているから。参考:GitLab flowのproductionブランチ環境: CentOS 6.6, Redmine 3.0.3, Redmine Git Hosting 1.0.6「Redmine Git Hosting」というRedmineプラグインを導入すると実現できるみたい。Redmine Git Hosting目次インストールGitoliteの導入を諦めてアンインストール1.インストール公式サイトにしたがって行う。Get started | Redmine Git Hosting必要なソフトをインストール
# yum install libssh2 libssh2-devel cmake libgpg-error-devel依存している「Redmine Bootstrap Kit」プラグインをインストール
# cd /opt/redmine/plugins/
# git clone https://github.com/jbox-web/redmine_bootstrap_kit.git安定版ブランチへ移動
# cd redmine_bootstrap_kit/
# git branch -a
# git checkout v0.2.x「Redmine Git Hosting」プラグインをインストール
# git clone https://github.com/jbox-web/redmine_git_hosting.git安定版ブランチへ移動
# cd redmine_git_hosting/
# git branch -a
# git checkout v1.0.x関連Gemのインストール
# cd /opt/redmine/
# bundle install --without development test赤文字が出力されるのでエラーと思いきや、もう一度実行すると無事終了。
# bundle install --without development testデータベースのアップデート
# bundle exec rake redmine:plugins:migrate RAILS_ENV=production …

Android Emulatorの起動を速くする for Titanium

イメージ
Androidの開発は実機で確認していたけど、Genymotionをインストールするともう少し便利になるかと思ったときの覚書。GenymotionのFree版は個人利用でないとダメなので諦め。既存Androidエミュレータを速くする技術があるので試してみた。環境: Mac OS X Yosemite 10.10.3参考Speeding up the Google Android emulator (for Titanium)目次Intel x86 Atom System ImageとHAXMのインストールAVD (Android Virtual Device)を作成Titaniumからビルドコマンド1.Intel x86 Atom System ImageとHAXMのインストールAndroid SDK Managerを開いてエミュレータで起動するバージョンの「Intel x86 Atom System Image」と一番下の「Intel x86 Emulator Accelerator (HAXM installer)」を選択してインストール。HAXMはインストーラーをダウンロードするだけなので、個別に実行。マウスをポイントするとダウンロードされた場所がわかる。
/Application/android-sdk-macosx/extras/intel/Hardware_Accelerated_Execution_ManagerIntelHAXM_1.1.1_for_10_9_and_above.dmgを実行メモリは2048MBに設定してインストール。2.AVD (Android Virtual Device)を作成Android SDK Manager → Tools → Manage AVDs... → Device Definitions → Nexus 5 → Create AVD...下記のように設定起動後に「Unfortunately, Launcher has stopped.」が出る場合は「VM Heap」の値を増やすと改善する。日本語を入力すると落ちる場合も「VM Heap」の値を増やすと改善する。Nexus6は日本語入力すると必ず落ちる。「Snapshot」を有効にするとエミュレータが起動しなかった。/var/logs/system.logを見ると…

Git Shell for WindowsのデフォルトEditorをxyzzyに

イメージ
Git Shell(GitHub for Windowsと一緒にインストールされる)を使っていて、コメントの編集などメモ帳が起動するので、xyzzyに変更したときの覚書。環境: Windows 8.1参考サイトHow can I set up an editor to work with Git on Windows? - Stack OverflowGit Shellを起動して下記コマンドを実行
> git config --global -e[core]
    autocrlf = false
    editor = 'D:\\OneDrive\\NonDependSoft\\Editor\\xyzzy\\xyzzy.exe'シングルクォーテーションで囲むのとバックスラッシュを2つ重ねる必要があった。< Related Posts >Windows + Atom EditorでMarkdownをPreviewしながら編集WindowsのPowerShellをLinuxのBashっぽく操作WindowsにGitの環境を構築(msysGit + TortoiseGit)してGitLabにPush

Windows + Atom EditorでMarkdownをPreviewしながら編集

イメージ
手順書などをMarkdown記法で書くようにしようとしたときの覚書。環境: Windows 8.1 64bitGoogle ChromeやFirefoxのプラグインを調べたけど、結局Atomが一番やりやすい。ちなみにPhpStormにはMarkdownのプラグインがあるので、Atomに切り替える必要はない。参考Atomチートシート - QiitaGitHub Flavored Markdown - User Documentation目次AtomをインストールEmacsのキーバインドに変更テーマをダーク系に変更フォントの変更Markdown記法でプレビューしながら編集Atomの感想1.AtomをインストールAtomはGitHubが作ったエディタ。Visual Studio CodeもAtomがベースになっているらしい。公式ページからダウンロードしてインストール2.Emacsのキーバインドに変更私はWindowsとEmacsをミックスした変則的なキーバインドなので、とりあえずカーソル移動はEmacsにしたい。File → Open Your Keymap参考サイトにあるのをそのまま貼り付け。いろいろカスタマイズした。# Windows for Any panel
'.platform-win32':
  # cursor
  'ctrl-f':'core:move-right'
  'ctrl-b':'core:move-left'
  'ctrl-n':'core:move-down'
  'ctrl-p':'core:move-up'
  'ctrl-h':'core:backspace'
  'ctrl-g':'core:cancel'  # Rebind
  'ctrl-shift-f':'find-and-replace:show'
  'ctrl-alt-shift-f':'project-find:show'
  'ctrl-shift-g':'go-to-line:toggle&#…

WindowsのPhpStormでGitのSSH設定

イメージ
情報が少なくて戸惑ったので覚書。環境: Windows 8.1, PhpStorm 8.0.3 64bit参考サイトPhpStorm 8.0.2 Help :: Using Git IntegrationPhpStorm And Git SSH Keys | Jeroen Bensch目次PhpStormのGit設定SSH設定fetchしてみる1.PhpStormのGit設定gitが未インストールの場合は前の記事を参考にインストール。SE奮闘記: WindowsにGitの環境を構築(msysGit + TortoiseGit)してGitLabにPush設定画面でGitへのパスが通っているか確認2.SSH設定PhpStormのビルトインSSHはLinuxと同じホームディレクトリの.sshを参照する。C:\Users\Daiki\.ssh\configを作って、下記のように編集。改行コードはLF, CR+LF関係なく動いた。Host gitlab.hoge.jp
        HostName gitlab.hoge.jp
        User git
        IdentityFile C:\Users\Daiki\.ssh\id_rsa.gitlab
        Port 22「id_rsa.gitlab」はLinux用に作ったをそのままコピー。作ったときの記事を参考に。SE奮闘記: SubversionからGit(GitLab)へ移行3.fetchしてみるPhpStormを再起動する必要なし。VCS → Git → Fetchしてみて確認Git Shell(GitHub Windowsと一緒にインストールされる)の方が速くて便利。< Related Posts >PhpStormにRedmineとGitLabを登録して連携すると幸せ?SubversionからGit(GitLab)へ移行WindowsにGitの環境を構築(msysGit + TortoiseGit)してGitLabにPushPHPStormを64bitで動作+メモリ容量を増やして高速化xyzzyからPhpStormに乗り換え。設定メモ

PhpStormにRedmineとGitLabを登録して連携すると幸せ?

イメージ
PhpStormにRedmineとGitLabを登録すると幸せになるか試したときの覚書。環境: Windows 8.1, PhpStorm 8.0.3 64bit, Redmine 3.0.3, GitLab 7.11.4参考サイトPhpStorm 8.0.2 Help :: Enabling Integration with an Issue Tracking System目次PhpStormのフォント設定Redmineの設定PhpStormにRedmineを登録チケットを確認GitLabをPhpStorm登録1.PhpStormのフォント設定PhpStormで日本語が文字化けしないようにフォント設定を確認File → Settings... → Appearance & Behavior → Appearance「Override default fonts by 」にチェックName: Meiryo UI
Size: 12ちなみにエディタ内のフォントはMonospace(等幅)フォントの「Migu 1M」を使ってる。Miguフォント : M+とIPAの合成フォント2.Redmineの設定PhpStormからRedmineへアクセスするための設定。管理 → 設定 → 認証 → 「RESTによるWebサービスを有効にする」をチェック3.PhpStormにRedmineを登録File → Settings... → Tools → Tasks → Servers → 「+」(追加)→ RedmineRedmineのログインはGoogle Appsのアカウントを使うように設定したけど、プラグイン導入前のユーザー名とパスワードでログインできた。4.チケットを確認Tools → Tasks & Contexts → Open Tasks
(Shift + ALT + N)を開くと登録済みチケットが出ているはず。チケットはPhpStormにキャッシュされているものを表示するらしい。File → Settings... → Tools → Tasksの「Cache settings」を変更する5.GitLabをPhpStorm登録基本はRedmineと一緒。プラグインもインストールしてみたけど、結局issueをPhpStormから管理出来るようになるだけ。チケッ…

WordPressを定期バックアップしてGoogle Cloud Storageに保存

イメージ
WordPressのデータベースと添付ファイルをGoogle Cloud Storageに定期バックアップするスクリプトを書いた時の覚書。Amazon S3でもほとんど同じ。次期サービスのためにGoogle Cloud Storageを試してみたかった。目次Google Developers Consoleでプロジェクト作成 → バケット作成コマンドラインツール「gsutil」のインストール自動バックアップスクリプトの仕様1.Google Developers Consoleでプロジェクト作成 → バケット作成管理コンソールからプロジェクト作成。Google Cloud Storageの公式サイトの「今すぐ試す」からいくと60日間$300の試用期間が付いてお得。プロジェクト作成後にバケット(クラウド上のディスクみたいなもの)を作成しておく。2.コマンドラインツール「gsutil」のインストール長くなったので別記事にまとめた。SE奮闘記: gsutilをInstallしてGoogle Cloud Storageに接続3.自動バックアップスクリプトの仕様バックアップスクリプトの仕様は下記。全てのデータベースをmysqldumpでバックアップ月初め(1日)はwp-content/uploadsを全部バックアップ3日以降は前日までの差分をバックアップファイルはgzipでアーカイブして「2015/05」のような階層フォルダに分けてCloud Storageにアップロード複数のWordPressがインストールされている場合のも対応参考にしたシェルスクリプトLabel305-Forks/Backup-to-Google-Cloud-Storage | GitHub作ったのをGitHubで公開。DaikiSuganuma/wordpress-backup-google-cloud-storage | GitHubどれくらいの料金(保存容量+転送容量)が必要か分かったので、どこかのタイミングで添付ファイルはクラウドに直接保存・参照する仕組みに変えたい。< Related Posts >gsutilをInstallしてGoogle Cloud Storageに接続MariaDB Galera Clusterをインストールしてデータベースをクラスター化

gsutilをInstallしてGoogle Cloud Storageに接続

イメージ
Google Cloud Storageにバックアップするスクリプトを書くためにgsutilをインストールしたときの覚書。環境: CentOS 6.6, Python 2.6.6公式ページを参考に。Install gsutil - Cloud Storage | Google Cloud Platform目次PyPI経由でgsutilをインストールgsutilの設定バケットを作成してみる1.PyPI経由でgsutilをインストールPython向けパッケージ管理システムPyPI(Python Package Index)を使うgsutilのインストールに必要なパッケージをインストール
# yum install gcc openssl-devel python-devel python-setuptools libffi-develPyPIのインストール
# yum install python-pipgsutilのインストール
# pip install gsutilアップデートするとき
# pip install -U gsutil2.gsutilの設定公式ドキュメントに従う
# gsutil configエラーTraceback (most recent call last):
  File "/usr/bin/gsutil", line 5, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources下記サイトにsetuptoolsの問題らしい。python - No module named pkg_resources - Stack Overflowyum経由でインストールされたpython-setuptoolsは0.6.10だったので最新版をインストールする。
# wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | python確認
# pip show setuptools
# gsutil version -lgsutil設定
# gsutil config表示されるURLをブラウザに貼り付けると認証…

WindowsのPowerShellをLinuxのBashっぽく操作

イメージ
Git Shell(GitHub Windowsと一緒にインストールされる)を叩いていて、Ctrl-AやCtrl-Pの操作が出来なくてイラッとしたときの覚書。cmd用のClinkみたいなものが欲しい。環境: Windows 8.1, PowerShell 4.0< 2016/05/08 追記 >
Windows 10になってモジュール形式で簡単にインストールできるようになった。参考サイト: PowerShellGet を触ってみよう - tech.guitarrapc.cómまずはどんなモジュールがあるか検索
PS> Find-Module使い方が分からないのでヘルプを使えるようにする
PS> Get-Help Find-Module他にどんなコマンドがあるか確認
PS> Get-Command -Module PowerShellGetPSReadLineをインストール
PS> Install-Module -Name PSReadLineInstall-Module : Administrator rights are required to install modules in 'C:\Program Files\WindowsPowerShell\Modules'.
Log on to the computer with an account that has Administrator rights, and then try again, or install 'D:\Documents\Wind
owsPowerShell\Modules' by adding "-Scope CurrentUser" to your command. You can also try running the Windows PowerShell
session with elevated rights (Run as Administrator).言われたとおりオプションを付けてみる
PS> Install-Module -Name PSReadLine -Scope CurrentUser既にモジュールがあると言われた場合はフォルダごと削除する。確認
PS> Get-Installed…

JenkinsとGitLabの連携。プッシュしてジョブ実行

イメージ
GitLabへプッシュしたタイミングでJenkinsのジョブを実行するように設定したときの覚書。環境: CentOS 6.6, Jenkins 1.614, GitLab 7.10.4参考GitLab と Jenkins を連携する (1) - Qiita目次JenkinsがGitLabからclone出来るようにjenkinsユーザーを設定GitLabにjenkins用公開鍵を登録とWeb Hooks設定JenkinsにGitプラグインをインストールJenkinsにテストジョブを作成1.JenkinsがGitLabからclone出来るようにjenkinsユーザーを設定jenkinsユーザーはSSH経由でcloneするので鍵認証設定。jenkinsのホームディレクトリを確認
# less /etc/passwdホームディレクトリに移動して認証鍵を作成
# cd /var/lib/jenkins/
# mkdir .ssh
# ssh-keygen -t rsa -C info+jenkins@hoge.jpEnter file in which to save the key (/root/.ssh/id_rsa): ./.ssh/id_rsa
Enter passphrase (empty for no passphrase): (何も入力せずにEnter)ファイル権限変更
# chown jenkins. -R .ssh/
# chmod 600 .ssh/id_rsaGitLabへSSH接続するときの設定
# vi .ssh/configHost gitlab.hoge.jp
  User          git
  Hostname      gitlab.hoge.jp
  IdentityFile  /var/lib/jenkins/.ssh/id_rsa2.GitLabにjenkins用公開鍵を登録とWeb Hooks設定GitLabに管理者でログイン
Admin area → Deploy Keys → New Deploy Keyタイトルは「jenkins」とか適当に。Keyに先ほど生成した公開鍵「id_rsa.pub」を貼り付けて保存
# less .ssh/id_rsa.pub各プロジェクトのSettings → Deploy Keysに表示されているのを「Enabl…

CentOSにJenkinsをInstall

イメージ
GitLabと連携して開発サイクルを自動化しようとJenkinsを導入したときの覚書。環境: CentOS 6.6目次JenkinsをYUM経由でインストール JDKをインストールしてJenkins起動 Nginxのリバースプロキシ設定 ログイン設定1.JenkinsをYUM経由でインストール公式ページを参考にRedHat Repository for Jenkins# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
# rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
# yum install jenkins今使用中のポートを確認
# netstat -ant8080はGitLabのUnicornが使用しているので変更する
# vi /etc/sysconfig/jenkinsJENKINS_PORT="8081"timezoneを日本にするJENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dorg.apache.commons.jelly.tags.fmt.timeZone=Asia/Tokyo"自動起動するように
# chkconfig jenkins on起動
# /etc/rc.d/init.d/jenkins startStarting Jenkins bash: /usr/bin/java: そのようなファイルやディレクトリはありませんJavaがないって怒られた。2.JDKをインストールしてJenkins起動YUM経由でインストールする。
# yum install java-1.8.0-openjdkJenkins起動
# /etc/rc.d/init.d/jenkins start3.Nginxのリバースプロキシ設定公式Wikiを参考に。Jenkins behind an NGinX reverse proxy - Jenkins - Jenkins WikiNginxの設定
# vi /etc/nginx/conf.d/05_jenkins.confserver {
    …