OSS版Drone+Vagrant+Bitbucket を試す
OSS 版 Drone がようやく動いたので、メモします。 Vagrant で Ubuntu を立てて、Bitbucket のプライベートレポジトリと連携するところまで。 今回はPython3+Django です。
Vagrant
ubuntu を使います。
vagrant init ubuntu/trusty64
Vagrantfile は以下の通りです。ふつうです。
Vagrant.configure(2) do |config| config.vm.box = "ubuntu/trusty64" config.vm.network "forwarded_port", guest: 80, host: 8080 config.vm.network "private_network", ip: "192.168.33.10" config.ssh.forward_agent = true end
vagrant を起動して入ります。
vagrant up vagrant ssh
Docker のインストール
sudo apt-get install docker.io sqlite
Drone のインストール
README に書いてある通りにインストールして起動します。
# Ubuntu, Debian wget downloads.drone.io/master/drone.deb sudo dpkg -i drone.deb sudo start drone
http://localhost:8080 にアクセスして、Drone の画面が出るか確認
ngrok
ngrok を使って、 Vagrant内で起動している Drone を外部公開する必要があります。
wget https://dl.ngrok.com/ngrok_2.0.17_linux_amd64.zip unzip ngrok_2.0.17_linux_amd64.zip
ngrok をダウンロードしたら、お好きなサブドメインを決めて、バックグラウンドで実行します。 ここでは適当に ksmzndrone とします。
./ngrok http -subdomain=ksmzndrone -log=stdout 80 > .ngrok2/ngrok.log &
https://ksmzndrone.ngrok.io にアクセスして、さっきと同じ画面になればOK。
Bitbucket の設定
コンシューマキーの登録
今回は Bitbucket のレポジトリを指定します。 まず、「アカウントの管理」→「OAuth」で コンシューマキーを登録します。
名前を適当に「drone」とし、 URLを先ほどngrokで指定したURL+「api/auth/bitbucket.org」とします。 今回は「https://ksmzndrone.ngrok.io/api/auth/bitbucket.org」ですね。
登録すると、「鍵」と「Secret」がもらえます。
これを /etc/drone/drone.toml の bitbucket の欄に記載し、 さらに「open=false」→「open=true」とします。
記載したら保存し、drone を再起動します。
sudo restart drone
アカウントの登録
https://ksmzndrone.ngrok.io を開くと、Bitbucketの設定ができるはずなので、 アカウントを登録し、レポジトリをアクティベートします。
フックの設定
その後、レポジトリの「Setting」→「フック」を開き、 POST の URL のドメインが「https://ksmzndrone.ngrok.io」になっているか確認します。 もし URL が localhost から始まっていたら、その部分を「https://ksmzndrone.ngrok.io」に変更し、 最終的に「https://ksmzndrone.ngrok.io/api/hook/bitbucket.org/****************」 となっていればOK。
Docker の設定
では、Docker の設定を行いましょう。 まず、Drone のベースとなる image を pull します。
sudo docker pull bradrydzewski/ubuntu sudo docker pull bradrydzewski/base
次に、自分のアプリのビルドに必要なものを用意します。 今回は Python3+Django ということで、 Python3 の image を用意します。
sudo docker pull bradrydzewski/python:3.3
.drone.yml
自分のレポジトリのルートディレクトリに .drone.yml を配置し、ビルドの設定を書きます。
image: bradrydzewski/python:3.3 script: - echo 'Hello, Drone!'
とりあえず今回は、ただ echo するだけの .drone.yml にしました。
実行
では、この状態で Bitbucket のレポジトリに Push してみましょう。 無事に echo されれば、OK です。
参考
- drone/drone
- Vagrant で OSS 版 drone を試す
- Vagrant で drone オープンソース版を試す(1)〜 terraform のコードを CI してインフラ CI 入門 〜
AR.Drone 2.0 Power Edition (「HDバッテリー」×2本、「カラープロペラ」×3色同梱)
- 出版社/メーカー: パロット
- 発売日: 2014/02/26
- メディア: おもちゃ&ホビー
- この商品を含むブログを見る
- 作者: エディトル
- 出版社/メーカー: インプレス
- 発売日: 2015/06/19
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
確率分布を学ぶアプリを、shinydashboard を使って新しくしてみた & 英訳していただきました。
昨日は花粉がひどいのでShinyで遊んでいました。 一瞬窓を開けただけでハナが出たのでもう外出られません。 でもいいんです。ぼくにはShinyがありました。
shinydashboard で綺麗なShiny
以前Shinyで作成した、 確率分布を学ぶアプリ を、 shinydashboard を使って デザインやUIを一新しました!
以前のデザインより見やすく、綺麗になったと思います! shinydashboard は綺麗なデザインもさることながら、 使い方も簡単だったのでとても便利ですね。 配色のセンスが無いので青一色にしたのがぼくの残念さを物語っています。 他の人ならもっとオシャレにできると思います。
ただデザインを変えるだけなのもつまらないので、 確率分布の期待値や分散 を表示するように変更しました! 確率分布のパラメータを変更すると、きちんと期待値と分散の値も変化します。
値を表示している青色の領域は、valueBoxというshinydashboardの機能です。
カラーも多く用意されているし、アイコンも載せられるのでパッと見オシャレですね。
アイコンはなんとFont-Awesome と Glyphicons
が使用可能です。ほんとオーサムですね。
ただ、豊富に用意されすぎていて、期待値と分散にどんなアイコンを使えばよいかわからなくなりました...。
とりあえず、期待値は大事な統計量なので☆マークに、分散はばらつきっぽく↔矢印マークにしてみました。
良い候補を思いついた方は教えて下さい。
英訳していただきました
また、報告が遅れましたが、 @kaz_yosさんがこのアプリを英訳して下さいました!! ものすごく嬉しいです!ありがとうございました!!
@ksmzn あまりに感激したので英訳してみたのですが、自分のshinyapps.ioに公開させていただいてもよろしいでしょうか。大変有用な学習資料と思います。
https://t.co/7m3HtceftO pic.twitter.com/R2DvG1N7Ju
— Kazuki Yoshida (@kaz_yos) January 26, 2015
Shiny probability distribution live demo app by @ksmzn
https://t.co/lhC1NYsAxo pic.twitter.com/u4YB6vHQOP
— Kazuki Yoshida (@kaz_yos) 2015, 1月 26
関連記事
参考文献
超幾何級数を扱うhypergeoパッケージ
世の中には興奮することっていっぱいあるけども、
一番興奮するのはやっぱり超幾何級数を扱うときですよね。
超幾何級数についてのWikipediaはこちら。
活用例などはこちらがおすすめです。
ちなみに僕は、非心ベータ分布の平均を計算するために用いました。
R言語で超幾何級数を扱うときは, hypergeoパッケージが簡単です。
使い方を軽くメモしておきます。
インストール
CRANにあります。
> install.packages("hypergeo") > library(hypergeo)
使い方
を求める。
超幾何級数の中で頻出なのは でしょうか。
ただし, はポッホハンマー(Pochhammer)記号です。
このような 2F1 は hypergeo 関数で求めることができます。
例えば、{a, b, c, z} = {2,3,4,5}のときは、
> hypergeo(2,3,4,5) [1] 0.1565421+0.1507964i
となり、超幾何級数が計算できました。
一般化された超幾何級数
だけでなく、のように一般化された超幾何級数を求めましょう。
このとき、 は次のように定義されます。
これを求めるためには、genhypergeo 関数を使いましょう。
genhypergeo 関数のパラメータUに を、
パラメータLに を代入します。
例えば、 のとき、超幾何級数 は、
> genhypergeo(U=c(1,1),L=c(3,3,3),z=2) [1] 1.078934
となります。
便利ですね!
- 作者: 原岡喜重
- 出版社/メーカー: 朝倉書店
- 発売日: 2002/10
- メディア: 単行本
- クリック: 1回
- この商品を含むブログ (1件) を見る
- 出版社/メーカー: エイベックス・ピクチャーズ
- 発売日: 2015/02/04
- メディア: DVD
- この商品を含むブログを見る