Sphinx+翻訳 Hack-a-thon 2015.02に参加しました(ブログの移行準備)

Sphinx+翻訳 Hack-a-thon 2015.02に参加してきました。

自分的なお題はブログの移行

はてなでもいいのだけどいい加減sphinx(reST)のほうが書きやすくなってきたりはてな記法覚えてなかったりで若干やりづらくなってきていたので。

それ以外にもいまいち、どのくらい移行することでくる人が減るのかとか気になってきていたので移行することに決めました。

移行したうえで必要なものはほとんど http://akirakw.github.io/2012/09/13/customize_tinkerer.html の記事でカバーされていてとても助かりました。

facebookのプラグインには少しバグがあるようで3.4で実行すると怒られましたが https://github.com/vladris/tinkerer-contrib/pull/11 にプルリクエストを送っておきました。

そんな感じで今度からはこっちで書いていこうかなと思います。

サーバーをdockerに移動するための調べ事

サーバーを移動するのにはubuntuのパッケージで管理されているものは最低限入れておきたい。

けれども、趣味レベルだとドキュメントにしてあるわけでもなく、移行のためには過去に入れたパッケージを調べる必要がある。

パッケージ管理から手動で入れたものは以下のコマンドで調べることができる

apt-mark showmanual

NTLM認証(Windowsのドメイン認証情報をつかったシングルサインオン)

ちょっとしたメモ

windowsにログインしただけでwebサービスにログインした状態にできる。

前の現場ではIISだったのでサンプルに入っていたけども、linuxでもできるらしい。

参考は以下

http://blog.liris.org/2012/03/linuxapachentlm.html

Playground(Android)のJenkins環境を整える

ハッカソンに行ってきた。

そのときにjenkinsである程度動いたかと思ったら動いておらず

いろんな罠にハマっていたらえらく日数がかかってしまいました。

セットアップ方法とハマりそうなエラーとその原因を軽くまとめようと思います

monoまわりをセットアップしていないので

運用としてはAppAssets.zipは作ってレポジトリに置くような感じになります。

環境のセットアップ

OS:ubuntu 12.04 64bit(12.10や13.04は苦労する可能性が大きいです)

githubに解説がありますがいくつか不足があるのと英語です。

https://github.com/KLab/PlaygroundOSS/blob/master/Doc/Android_Build.md

大きくは

必要なライブラリとツールのインストール

aaptがなぜか32bitバイナリーなのでia32libsとzipなどのコマンド類をいれます。

androidの開発環境のインストール

androidのビルドのためにjavaとandroid-sdkとandroid-ndkが必要です。

PlaygroundOSSのビルド

最終目的地です

では順番に


必要なライブラリとツールのインストール

aptで一発ワンライナーです。

sudo apt-get install libgd2-xpm ia32-libs ia32-libs-multiarch zip git

androidの開発環境のインストール

javaは以下からダウンロードできます。

http://www.oracle.com/technetwork/jp/java/javase/downloads/index.html

展開してパスを通しましょう。

sdkは以下からダウンロードできます。

http://developer.android.com/sdk/index.html

sdkはちょくちょくかわるのでとんでダウンロードしてください。

ndkは以下からダウンロードできます。

64 bit : http://dl.google.com/android/ndk/android-ndk-r9-linux-x86_64.tar.bz2

例として$HOME以下に展開します。

パスを通します。

その際にANDROID_NDK_ROOTは必ず定義してください。

無いとビルド時にエラーになります。

export ANDROID_NDK_ROOT=$HOME/android-ndk-r9/
export PATH=$PATH:$ANDROID_NDK_ROOT:$HOME/android-sdk-linux/tools:$HOME/android-sdk-linux/platform-tools

sdkはandroidコマンドを使ってビルドツールとかをインストールしましょう。

GUIでもできますがコマンドでやると以下のようになります。

echo 'y' | android update sdk --filter platform-tools,android-17,extra-android-support,android-17,sysimg-17 --no-ui --force
echo 'y' | android update sdk -a --filter `android list sdk --extended -a | grep \"build-tools-18.1.0\" |cut -d ' ' -f 2` --no-ui --force
echo 'y' | android update sdk -a --filter `android list sdk --extended -a | grep \"build-tools-19.0.0\" |cut -d ' ' -f 2` --no-ui --force

PlaygroundOSSのビルド

以下のページからダウンロードするかgitでクローンしてチュートリアルのプログラムをビルドします。

https://github.com/KLab/PlaygroundOSS

git clone https://github.com/KLab/PlaygroundOSS.git
cd $HOME/PlaygroundOSS/Tutorial/01.SimpleItem/.publish/android/
zip -r -0 $HOME/PlaygroundOSS/Engine/porting/Android/GameEngine-android/assets/AppAssets.zip ./*
echo -n "1" > $HOME/PlaygroundOSS/Engine/porting/Android/GameEngine-android/assets/version ./*
$HOME/PlaygroundOSS/Engine/porting/Android/GameEngine-android/build.py --rebuild --assemble --project SampleProject

これでサンプルプログラムが動きます。

jenkinsはshellでEngine以下をコピーしてAppAssets.zipを入れてビルドする

以下のようになります。

cp -r $HOME/PlaygroundOSS/Engine/ ./
mkdir -p `pwd`/Engine/porting/Android/GameEngine-android/assets/
mv android-assets/AppAssets.zip Engine/porting/Android/GameEngine-android/assets/
sum Engine/porting/Android/GameEngine-android/assets/AppAssets.zip > Engine/porting/Android/GameEngine-android/assets/version
cd Engine/porting/Android/GameEngine-android/
./gradlew assemble

こんな感じでビルドがまわせると思うので、後はお好みのテストツールと組み合わせるといいでしょう。

トラブルシュート

エラーが出てしまった人たち用にエラーメッセージと解決法を書いておきます

32bitライブラリーが入っていない編(必要なライブラリとツールのインストールをやってない)

まず、64bitの場合、ubuntuバージョンは12.04を使いましょう。

その上でia32libを入れないと以下のようにおこられます。

+ ./gradlew assemble
:preBuild UP-TO-DATE
:preDebugBuild UP-TO-DATE
:prepareDebugDependencies
:compileDebugAidl
:compileDebugRenderscript
:generateDebugBuildConfig
:mergeDebugAssets
:mergeDebugResources
/home/jenkins/workspace/playgroundthon/Engine/porting/Android/GameEngine-android/res/drawable-mdpi/ic_launcher.png: Error: Cannot run program "/home/jenkins/tools/android-sdk/build-tools/19.0.0/aapt": error=2, そのようなファイルやディレクトリはありません
:mergeDebugResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':mergeDebugResources'.
> /home/jenkins/workspace/playgroundthon/Engine/porting/Android/GameEngine-android/res/drawable-mdpi/ic_launcher.png: Error: Cannot run program "/home/jenkins/tools/android-sdk/build-tools/19.0.0/aapt": error=2, そのようなファイルやディレクトリはありません

ファイルはあるのですが32bitのバイナリを実行しようとしてこんな感じに怒られます。

13.04は確実にパッケージが無いのでia32libでインストールされるパッケージ類を調べてインストールするしかないです。

12.10は分かりません。

ANDROID_NDK_ROOTが設定されていない編

以下のような感じで怒られます。

>> Compile++ x86    : Game <= FileDelete.cpp
>> Compile++ x86    : Game <= KLBOpenSLSoundAssetLoader.cpp
>> Compile++ x86    : Game <= CSampleProjectEntrance.cpp
>> Compile++ x86    : jniproxy <= jniproxy.cpp
>> Compile arm    : Game <= hash_sha1.c
>> Compile arm    : Game <= ldebug.c
>> Compile arm    : Game <= lstrlib.c
>> Compile arm    : Game <= lgc.c
>> Compile arm    : Game <= lfunc.c
>> Compile arm    : Game <= loadlib.c
>> jni/Android/CSockWriteStream.cppCompile arm    : Game <= lopcodes.c
>> Compile arm    : Game <= ldblib.c
>> :42:22: error: use of undeclared identifier 'write'
>>         int result = write(m_fd, buffer + pos, sndSize - pos);
>>                      ^
>> jni/source/Core/DebugTracker.cpp:221:2: error: use of undeclared identifier 'sleep'
>>         sleep(1000);  // waiting for client receive CMD_END.
>>         ^
>> 1Compile arm    : Game <= lctype.c
>> Compile arm    : Game <= lmathlib.c
>> 1 error generated.
>> make: *** [obj/local/x86/objs/Game/source/Core/DebugTracker.o] Error 1
>> make: *** Waiting for unfinished jobs....
>> Compile arm    : Game <= lzio.c
>>  error generated.
>> make: *** [obj/local/x86/objs/Game/Android/CSockWriteStream.o] Error 1
>> jni/Android/CAndroidWriteFileStream.cppjni/Android/CSockReadStream.cpp:42:14: error: use of undeclared identifier 'close'
>>     if(m_fd) close(m_fd);
>>              ^
>> jni/Android/CSockReadStream.cpp:41:9: error: use of undeclared identifier 'close'
>>         close(m_fd);
>>         ^
>> :81:6: error: use of undeclared identifier 'close'
>>         close(dstSocket);
>>         ^
>> jni/Android/CSockReadStream.cpp:100:11: error: use of undeclared identifier 'close'
>>                         close(m_fd);
>>                         ^
>> jni/Android/CSockReadStream.cpp1 error generated.
>> make: *** [obj/local/x86/objs/Game/Android/CAndroidWriteFileStream.o] Error 1
>> jni/Android/CAndroidReadFileStream.cpp:110:17: error: use of undeclared identifier 'close'
>>                 close(m_fd);
>>                 ^
>> jni/Android/CSockReadStream.cpp:86:6: error: use of undeclared identifier 'close'
>>         close(pStream->m_fd);
>>         ^
>> 1:127:22: error: use of undeclared identifier 'read'
>>         int result = read(m_fd, m_readBuf + m_lastPos, READ_BUFSIZ - m_lastPos);
>>                      ^
>> jni/Android/CSockReadStream.cpp:132:22: error: use of undeclared identifier 'read'
>>         int result = read(m_fd, m_readBuf, m_getPos);
>>                      ^
>> jni/Android/CSockReadStream.cpp:136:22: error: use of undeclared identifier 'read'
>>         int result = read(m_fd, m_readBuf + m_lastPos, m_getPos - m_lastPos);
>>                      ^
>>  error generated.
>> make: *** [obj/local/x86/objs/Game/Android/CAndroidReadFileStream.o] Error 1
>> jni/Android/CSockReadStream.cpp:141:22: error: use of undeclared identifier 'read'
>>         int result = read(m_fd, m_readBuf, READ_BUFSIZ);
>>                      ^
>> jni/source/Assets/CKLBTexturePacker.cpp:367:80: warning: format specifies type 'unsigned long' but the argument has type 'uintptr_t' (aka 'unsigned int') [-Wformat]
>>         fprintf(pFile, "==== Surface Alloc %8lX Size W:%i, H:%i Byte/Pix: %i ====\n", reinterpret_cast<uintptr_t>(this), m_width, m_height, m_currFormat);
>>                                            ~~~~                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>                                            %8X
>> 8 errors generated.
>> make: *** [obj/local/x86/objs/Game/Android/CSockReadStream.o] Error 1
>> 1 warning generated.
>> jni/Android/KLBOpenSLEngine.cpp:140:9: error: use of undeclared identifier 'usleep'
>>         usleep(16000);
>>         ^
>> 1 error generated.
>> make: *** [obj/local/x86/objs/Game/Android/KLBOpenSLEngine.o] Error 1
>> jni/Android/KLBOpenSLSoundAssetLoader.cpp:38:26: error: use of undeclared identifier 'F_OK'
>>         if (access(target_path, F_OK) != -1) {
>>                                 ^
>> jni/Android/KLBOpenSLSoundAssetLoader.cpp:67:3: error: use of undeclared identifier 'usleep'
>>                 usleep(30000); // sleep for 30ms
>>                 ^
>> 2 errors generated.
>> make: *** [obj/local/x86/objs/Game/Android/KLBOpenSLSoundAssetLoader.o] Error 1
>> jni/Android/CAndroidTmpFile.cpp:43:9: error: use of undeclared identifier 'close'
>>         close(m_fd);
>>         ^
>> jni/Android/CAndroidTmpFile.cpp:51:12: error: use of undeclared identifier 'write'
>>     return write(m_fd, ptr, size);
>>            ^
>> 2 errors generated.
>> make: *** [obj/local/x86/objs/Game/Android/CAndroidTmpFile.o] Error 1
>> jni/Android/CAndroidRequest.cpp:221:3: error: use of undeclared identifier 'unlink'; did you mean 'inline'?
>>                 unlink(fullpath);
>>                 ^
>> jni/Android/CAndroidRequest.cpp1 warning generated.
>> :505:15: error: use of undeclared identifier 'ioctl'
>>         int result = ioctl(fd, _IOW('a', 4 | (ANDROID_ALARM_ELAPSED_REALTIME << 4), struct timespec), ts);
>>                      ^
>> jni/Android/CAndroidRequest.cpp:507:2: error: use of undeclared identifier 'close'
>>         close(fd);
>>         ^
>> jni/Android/CAndroidRequest.cpp:646:9: warning: enumeration value 'BGMOVIEPLAYER' not handled in switch [-Wswitch]
>>         switch(type)
>>                ^
>> 1 warning and 3 errors generated.
>> make: *** [obj/local/x86/objs/Game/Android/CAndroidRequest.o] Error 1
>> 4 warnings and 18 errors generated.
>> make: *** [obj/local/x86/objs/Game/libs/SQLite/sqlite3.o] Error 1
>>
>> FAILURE: Build failed with an exception.
>>

デ部 kitkat にいってきた

速報的に内容ざっくりまとめておきます。

Host Card Emulation APDU入門的な何か (New NFC capabilities through)

nakanishiさん

androidのNFCでNFCカードの動作をエミュレーション出きる。

今までのNFCは通信の処理とカードリーダーとして動いていたがカードをエミュレーションすることができるようになった。

New ways to build beautiful apps

korodoroidさん

システムが表示しているUIを半透明にしたりできるようになった。

シーンとトランジションを設定することでアクティビティ遷移時のアニメーションを簡単につけることができる。

没入型のUIで通知機能を横取りできるようになった。

TYPE_STEP_COUNTERとTYPE_STEP_DETECTORについて (Low-power sensors)

awaさん

センサーの種類として歩数計の追加。今までよりも簡単

万歩計は電源がONになってからずっととっているので差分を集積するなどが必要。(口頭)

センサーバッチング、バックグラウンドでも動く。

OnSensorChanged()が呼ばれていないと言うバグがある。31/68機種が動かない。

Tools for analyzing memory use

95さん

メモリーを監視するツールが増えた

プロセスの起動時間などもとれるので一晩くらい置いてから表示させるとよい。

monkeyなどで一晩中動かしながらメモリーの使用量をCVSでプロットしたりとかできるのでいいかもしれません。

4.4でなおったバグ (その他)

yyaammaaさん

アクションバーでオーバーレイしたときに影が出ないのがなおったよ。

Storage access frameworkでGCS (Storage access framework)

masuiさん

アプリケーションのデータの共有を一元化することができる。

いままでだとコンテントプロバイダを作ってピッカーをアプリごとに実装しないといけないのだけどほとんど用意されていない。

このフレームワークを使うことによってその辺の問題点を解消する。

ただし、4.4以降になってしまうので古いシステム上で同じ事をする方法がドキュメントになるよ。

Sensor Batching とか (Low-power sensors)

mhidakaさん

パーミッションが増えましたよ。

ショートカット作るのにパーミッションが必要になりました。

デバイスフィーチャーも増えました。

OK Google (その他)

atsushienoさん

OK googleをどうやったら自分でも実装できる?

その実装ができるか調べましたが僕の力では無理でした。

というお話。

kitcatのAPIドキュメントを見てみたけど関係なさそう…

他の人が作っているカモと思って探してみたが何か違った。

とりあえずHomeLauncher3とかがAOSPに入ってくるのを待つことにします。

変わったネクサス5がきたよ

zakiさん

まずタッチパネルが反応しないんだけど!

フリーダイヤルで日本語のオペレータとファクトリーリセットしたけどダメでした。

USBマウスをつかって動かしてみました。

PCをつないでOK押せない!!

BTのMAC用のパッドがあったので使ってみた。

5点タッチにも反応したよ!

kitcatでプリントするフレームワークが増えました

vvakameさん

プリントしようとするとプリントスプラーとプリントクラウドがしにます。

言語設定を英語にすると印刷が可能になる。

android studio(のgradleの部分を)動かしてみた

6/2 14:05 <span class=”deco” style=”font-weight:bold;”>タイポで間違った情報を載せていたので修正しました

android studioを起動しようとするとしょっぱなからエラーをお見舞いされた

Build file build.gradle line: 9 A problem occurred evaluating project .
A problem occurred evaluating project . Could not create plugin of type 'AppPlugin'.
org/gradle/tooling/provider/model/ToolingModelBuilderRegistry org.gradle.tooling.provider.model.ToolingModelBuilderRegistry

これは gradle が古い奴がインストールされているとおこるようで

さっそくgradle-1.6にアップデート。

このようすだと gradle のみでビルドできるのではないかと思ったのでやってみた。

$ gradle build
The TaskContainer.add() method has been deprecated and is scheduled to be removed in Gradle 2.0. Please use the create() method instead.
:MyApplication3:prepareDebugDependencies
:MyApplication3:compileDebugAidl
:MyApplication3:generateDebugBuildConfig
:MyApplication3:mergeDebugAssets
:MyApplication3:compileDebugRenderscript
:MyApplication3:mergeDebugResources
:MyApplication3:processDebugManifest
:MyApplication3:processDebugResources
:MyApplication3:compileDebug
:MyApplication3:dexDebug
:MyApplication3:processDebugJavaRes UP-TO-DATE
:MyApplication3:validateDebugSigning
:MyApplication3:packageDebug
:MyApplication3:assembleDebug
:MyApplication3:prepareReleaseDependencies
:MyApplication3:compileReleaseAidl
:MyApplication3:generateReleaseBuildConfig
:MyApplication3:mergeReleaseAssets
:MyApplication3:compileReleaseRenderscript
:MyApplication3:mergeReleaseResources
:MyApplication3:processReleaseManifest
:MyApplication3:processReleaseResources
:MyApplication3:compileRelease
:MyApplication3:dexRelease
:MyApplication3:processReleaseJavaRes UP-TO-DATE
:MyApplication3:packageRelease
:MyApplication3:assembleRelease
:MyApplication3:assemble
:MyApplication3:check UP-TO-DATE
:MyApplication3:build

BUILD SUCCESSFUL

Total time: 16.609 secs

$ ls MyApplication3/build/apk
MyApplication3-debug-unaligned.apk  MyApplication3-release-unsigned.apk

成功した。やったねたえちゃん。ツールが増えるよ(白目

apkはモジュールの下のbuild/apkのディレクトリ内に作成されていました。

タイポでした。タスクの一覧は以下のようになっているようです。

ちょっとしたら翻訳して見ようと思います。

$ gradle tasks
The TaskContainer.add() method has been deprecated and is scheduled to be removed in Gradle 2.0. Please use the create() method instead.
:tasks

------------------------------------------------------------
All tasks runnable from root project
------------------------------------------------------------

Android tasks
-------------
androidDependencies - Displays the Android dependencies of the project
signingReport - Displays the signing info for each variant

Build tasks
-----------
assemble - Assembles all variants of all applications and secondary packages.
assembleDebug - Assembles all Debug builds
assembleRelease - Assembles all Release builds
assembleTest - Assembles the Test build for the Debug build
build - Assembles and tests this project.
buildDependents - Assembles and tests this project and all projects that depend on it.
buildNeeded - Assembles and tests this project and all projects it depends on.
clean - Deletes the build directory.

Build Setup tasks
-----------------
setupBuild - Initializes a new Gradle build. [incubating]

Help tasks
----------
dependencies - Displays all dependencies declared in root project 'MyApplication3Project'.
dependencyInsight - Displays the insight into a specific dependency in root project 'MyApplication3Project'.
help - Displays a help message
projects - Displays the sub-projects of root project 'MyApplication3Project'.
properties - Displays the properties of root project 'MyApplication3Project'.
tasks - Displays the tasks runnable from root project 'MyApplication3Project' (some of the displayed tasks may belong to subprojects).

Install tasks
-------------
installDebug - Installs the Debug build
installTest - Installs the Test build for the Debug build
uninstallAll - Uninstall all applications.
uninstallDebug - Uninstalls the Debug build
uninstallRelease - Uninstalls the Release build
uninstallTest - Uninstalls the Test build for the Debug build

Verification tasks
------------------
check - Runs all checks.
connectedCheck - Runs all device checks on currently connected devices.
connectedInstrumentTest - Installs and runs the tests for Build 'Debug' on connected devices.
deviceCheck - Runs all device checks using Device Providers and Test Servers.

To see all tasks and more detail, run with --all.

BUILD SUCCESSFUL

Total time: 7.517 secs

signingコマンドがあるのでgradleだけでサインした状態でリリースできそうです。

CIをするためにantを別に生成するなどの手間もへりそうです、

これからも期待しながら見て行こうと思います!!

jenkinsの新しいプラグインを紹介 (4/5~4/11)

仕事の忙しさにかまけて忘れてました。

毎週かなり多くのプラグインが生まれていますね。

[https://wiki.jenkins-ci.org/display/JENKINS/UpdateSites+Manager+plugin:title]

Jenkinsの管理画面から、Jenkinsがプラグインのダウンロード元にするアップデートサイトを追加・変更・削除できるようになります。

以下の様な事情でJenkinsの公式アップデートサイト以外のアップデートサイトを使う場合に利用することを想定しています。

  • インターネットにアクセスできない環境で、Jenkinsの公式アップデートサイトからプラグインのサブセットをローカルにコピーしてアップデートサイトを作った場合
  • 一般に公開しない/できない、特定プロジェクト専用のプラグインをダウンロードできるアップデートサイトをローカルに作った場合

[https://wiki.jenkins-ci.org/display/JENKINS/Elastic+Axis:title]

マルチコンフィギュレーションジョブのスケーラビリティを向上させ管理しやすくするプラグインです。

複数のマシンに同一ジョブを適用するためのプラグインです。

[https://wiki.jenkins-ci.org/display/JENKINS/rhnpush+Plugin:title]

RHNで構成されたサーバーに対してRPMをインストールするためのビルドステップを追加するプラグインです。

[http://jp.redhat.com/products/enterprise-linux/management/:title]

[https://wiki.jenkins-ci.org/display/JENKINS/WIX+Toolset+Plugin:title]

windowsのインストーラー作成ツールであるWIXを実行するためのプラグインです。

windows上でのみ動作します。

[http://www.wixtoolset.org/:title]

[https://wiki.jenkins-ci.org/display/JENKINS/JobRequeue-Plugin:title]

スレーブ環境でジョブが失敗した場合のリトライを行うように設定するプラグインです。

[https://github.com/jenkinsci/golo-plugin:title]

プログラム言語のgoloをビルドするためのプラグインです。

wikiがありませんでした。

[https://github.com/jenkinsci/sparkle-appcast-plugin:title]

ソフトウェアアップデートフレームワークであるsparkleのためにappcast.rssファイルを生成するためのプラグインです。

githubに解説があります。

wikiはあるけれども何も書いていません。

[https://wiki.jenkins-ci.org/display/JENKINS/RPM+Sign+Plugin:title]

GPGを使ってRPMを署名するためのプラグインです。

そのためのビルドステップを提供します。

jenkinsの新しいプラグインを紹介 (3/28~4/4)

相変わらず需要のなさそうなコンテンツ「新着プラグイン紹介」です。

[https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+Enterprise+by+CloudBees:title]

OSSのjenkinsをエンタープライズ版に変換するプラグインです。

見たときにはとてもびっくりしました。

インストールすると評価ライセンスが自動的に取得されます。評価ライセンスが終了した場合、ライセンスを得るか、あるいはpluginsをアンインストールしなければなりません。

商用版の機能であるテンプレート、アクセス・コントロール、バックアップとHAコンポーネントを提供するそうです。

[https://wiki.jenkins-ci.org/display/JENKINS/RabbitMQ+Consumer+Plugin:title]

オープンソースのメッセージ指向ミドルウェアのRabbitMQに接続してキューを監視し、メッセージをリスナーに配信するためのプラグインです。

このプラグイン自体はビルドに対してなにかを提供することはありません。用意したリスナーの

インタフェースを他のプラグインで継承して実装することでRabbitMQとの通信を用意にするための物のようです。

[https://wiki.jenkins-ci.org/display/JENKINS/RabbitMQ+Build+Trigger+Plugin:title]

RabbitMQ Consumer Pluginのリスナー実装プラグインです。

RabbitMQの監視しているキューに特定のJSON形式のメッセージを外部から送信すると、

それがこのプラグインに配信され、そのメッセージにしたがってビルドをトリガーします。

[https://github.com/jenkinsci/pushover-notifier-plugin:title]

まだjenkinsのページができていませんがpushoverというモバイル向けのメッセージ通知サービスを使って通知を行うためのプラグインとなっているようです。

[https://wiki.jenkins-ci.org/display/JENKINS/MQTT+Notification+Plugin:title]

マシン間通信プロトコルのMQTT[http://mqtt.org/:title]を利用する以上のことがwikiからはよくわからなかったです。

[https://wiki.jenkins-ci.org/display/JENKINS/Humbug+Plugin:title]

humbughq.com用のプラグインらしいこと以外サイトを見てもよくわからないです。

[https://github.com/jenkinsci/jshint-checkstyle-plugin/:title]

wikiがうまく見つけられませんでした。

Checkstyleフォーマットの出力を行うJS用の構文チェッカープラグインです。

[https://wiki.jenkins-ci.org/display/JENKINS/Checkstyle+Plugin:title]で同時にインストールしてつかえるようになったということなのでしょうか?使ってるかた教えてください。

[https://github.com/jenkinsci/windows-azure-storage-plugin:title]

Windows Azure Blob storageにビルド成果物をアップロードするためのプラグインのようです。

wikiがうまく見つけられませんでした。

[https://wiki.jenkins-ci.org/display/JENKINS/LeChat+Plugin:title]

[https://lechat.im/:title]に通知をだすためのプラグインだと思われますが説明がなさすぎてよくわからなかったという…。

以上、3/28~4/4の新着プラグインでした。

jenkinsの新しいプラグインを紹介

jenkinsの新しく登場したプラグインを(ほぼ)週刊ぐらいでやっていこうかと思います。

生まれたばかりの子が多いのでうまく動かないことが多いとは思いますが

似たようなものを作ろうと思っている場合はコントリビュートしてあげるといいとおもいます。

とりあえず直近(3/22-3/28まで)のプラグインをまとめて紹介します。

[https://wiki.jenkins-ci.org/display/JENKINS/Gearman+Plugin:title]

Gearmanというジョブ管理サーバーの下にjenkinsをつなぐことによって複数のjenkinsマスターを管理するためのプラグイン。

Gearmanをすでに使っている人向けなのでしょうかね。

[https://wiki.jenkins-ci.org/display/JENKINS/Windows+Exe+Runner+Plugin:title]

Windowsのexeファイルをシステムコンフィグで登録して、複数のジョブで使用する為のプラグイン。

 Windowsバッチコマンドで毎回同じexeファイルを指定している場合、入力作業が省略出来ます。

[https://wiki.jenkins-ci.org/display/JENKINS/JiraTestResultReporter-plugin:title]

JIRAにテスト結果をアップロードするプラグイン

xUnit系のテスト結果からアップロードする内容を作成するようです。

[https://wiki.jenkins-ci.org/display/JENKINS/Selenium+Builder+Plugin:title]

seleniumのテストケース作成環境Selenium Builderのプラグイン

Selenium Builderの出力するSelenium Builder scriptをそのまま実行できるようにするプラグインです。

以上、3/22-3/28までの新着プラグインでした。