サーバーを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のビルドのためにjavaandroid-sdkandroid-ndkが必要です。

PlaygroundOSSのビルド

最終目的地です

では順番に

続きを読む

デ部 kitkat にいってきた

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

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

nakanishiさん
androidNFCNFCカードの動作をエミュレーション出きる。
今までの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 タイポで間違った情報を載せていたので修正しました

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

gradleだけでサインした状態でリリースできるのかとかよくわかりませんでしたが
signingコマンドがあるのでgradleだけでサインした状態でリリースできそうです。
CIをするためにantを別に生成するなどの手間もへりそうです、
これからも期待しながら見て行こうと思います!!

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

仕事の忙しさにかまけて忘れてました。
毎週かなり多くのプラグインが生まれていますね。

UpdateSites Manager plugin - Jenkins - Jenkins Wiki

Jenkinsの管理画面から、Jenkinsがプラグインのダウンロード元にするアップデートサイトを追加・変更・削除できるようになります。
以下の様な事情でJenkinsの公式アップデートサイト以外のアップデートサイトを使う場合に利用することを想定しています。

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

Elastic Axis - Jenkins - Jenkins Wiki

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

rhnpush Plugin - Jenkins - Jenkins Wiki

RHNで構成されたサーバーに対してRPMをインストールするためのビルドステップを追加するプラグインです。
エンタープライズ向けオープンソース・テクノロジー

WIX Toolset Plugin - Jenkins - Jenkins Wiki

windowsインストーラー作成ツールであるWIXを実行するためのプラグインです。
windows上でのみ動作します。
WiX Toolset

JobRequeue-Plugin - Jenkins - Jenkins Wiki

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

GitHub - jenkinsci/golo-plugin

プログラム言語のgoloをビルドするためのプラグインです。
wikiがありませんでした。

GitHub - jenkinsci/sparkle-appcast-plugin: Jenkins plugin to create Sparkle Appcasts.

ソフトウェアアップデートフレームワークであるsparkleのためにappcast.rssファイルを生成するためのプラグインです。
githubに解説があります。
wikiはあるけれども何も書いていません。

RPM Sign Plugin - Jenkins - Jenkins Wiki

GPGを使ってRPMを署名するためのプラグインです。
そのためのビルドステップを提供します。