docker使ってredmineプラグイン作り

Gakuです。

最近、業務でredmineを使用しており、かんばんを使用するのにbacklogsプラグインでは使い勝手が悪いため、redmineプラグインを自作してみようと考えました。
(※開発業務ではなく、一般の業務をタスク管理する上でsprintは不要ですし、sprint組まないとかんばん出ないのは使い勝手悪い。)
dockerで環境構築を行い、ホストOSからpluginを新規作成するところまでの備忘録を掲載します。

docker-compose.yml,Dockerfile

docker-compose.ymlとredmineのDockerfileは以下のように作成しました。

version: '2'

services:
  redmine:
    build: redmine
    ports:
      - 8080:3000
    environment:
      REDMINE_DB_POSTGRES: postgres
    links:
      - postgres:postgres
    volumes:
      - ./redmine/plugins:/usr/src/redmine/plugins
  postgres:
    restart: always
    image: postgres
FROM redmine

Dockerfileいらないですね。( ´Д`)
まぁ、今後の拡張性考えて作っておきます。

volumeの設定

上記docker-compose.yml内でvolumeを設定していますので、それに合わせて、/redmine/pluginsフォルダを作成します。
これで一旦

docker-compose up -d


余裕のredmine起動( ^∀^)b

redmineプラグインの新規作成

redmineプラグインを作成するのも簡単です。
以下コマンド1発です。

docker-compose exec redmine bundle exec rails generate redmine_plugin Sample

これでホストOSの/redmine/pluginsフォルダにSampleプラグインが作成されたと思います。
あとは、これをredmineに反映させるため、

docker-compose stop && docker-compose up -d

でリスタートかけて、redmineのplugin一覧を確認して表示されてればOKです。

イージーゲーム( ´Д`)y━・~~

おわりに

ちょっとずつ育てていきますw
いい感じに作れたらフリーミアムな感じで販売も考えています。

それにしても、docker便利っすね〜。vagrantで一から環境作ろうと思ったんですが、めんどくさくてdockerに切り替えたらものの30分でここまで完了。。。
なんて素晴らしき世界。。。( ´Д`)y━・~~

爆速でお問い合わせform作る方法

Gakuです。

なんとなくですが、いろいろな機会損失を生みたくないため、このサイトにも「お問い合わせフォーム」を設置してみました。
その際、爆速な設置が可能であったため、その方法をご紹介します。

Googleフォームという神サービス

みなさんご存知のGoogleさんが手がけているGoogleフォームというサービスを使用し、今回はお問い合わせフォームを設置します。

ログインすると以下のような画面へ移動するので、右下「+」をクリックしてフォームを新規作成します。

作成はすごく簡単でボタンぽちぽちしてたら3分ほどで完成できます。
完成したら右上の「送信」ボタンをクリックします。

送信ボタンをクリックしたら下記の画面へ遷移するので、コピーして設置したい部分にペーストするだけです。

うちのサイトの場合、こんな感じになります。

また、メールで問い合わせが来たことを確認したい場合は、回答タブの設定にある「新しい回答についてのメール通知を受け取る」をクリックし設定しておきます。

おわりに

すごく簡単に問い合わせフォームを設置することができました。
wordpressのプラグインでもそれほどそれほど難しくなく問い合わせフォームを設置することが可能かと思いますが、これほど簡単な方法は無いと思います。
企業の問い合わせフォームでは「手抜き」扱いされる可能性が少なからずありますが、個人であればこれで十分だと感じてます。

CircleCIにSSH debugでログインする方法

Gakuです。

こちらの記事の続きです。

CircleCIへssh debugする方法を覚え書き程度に書きます。

まずはssh debug

circleCI上のビルド画面にある[Debug via SSH]タブをクリックし、その中にある[Retry this build with SSH enabled]を押します。
これでSSH接続が30分できる状態になるらしいです。

接続

Retry this build with SSH enabledを押した部分にsshの接続先が表示されていると思うので、
その情報とgithubに登録した秘密鍵で接続をかけます。

ssh -i ~/.ssh/github -p ???? ubuntu@??.??.??.??

これで接続できるようになるはずです(´・ω・`)

おわりに

ここ2日、SSHの設定しかしてねぇ(´・ω・`)
ここらへんの知識が甘いということですね。わかります(´・ω・`)

何やらマストドンなるものが流行っているようです。

Gakuです。

何やらマストドンなるものが流行っているようなので、登録してみました。
[blogcard url=https://mstdn.jp/about][/blogcard]

登録して1時間使ってみた所感

twitter初期を思い出す楽しさがありますね。
みんな試行錯誤中。
みんな「mstdn!mstdn!」つぶやいていますw

そんなSNSだから、何気ないつぶやき(トゥート)をするだけでフォロー頂けますw
最近のtwitterには無い楽しさがあります。

おわりに

日本で流行りだして1カ月も満たないサービスのため、今後どうなるかは誰にもわかりません
でも、twitterは経営の点等で先行き不安です。

ぼちぼちマストドンに移行していくのもいいのかな。って思ってます。
僕のアカウントはmstdn.jpインスタンスに登録しています。

よかったらフォローください(/・ω・)/
mstdnID:gaku3601

オレオレサービスを持つ喜び

Gakuです。
すっかり春の陽気で、最近「花粉症」にがちで悩まされています。

そんな僕ですが、最近サービスを2本構築していまして、そのうち1本をリリースしました。
その中で、仕事以外でサービスを構築する楽しみについて少しまとめてみたいと思います。

オレオレサービスを持つ喜び

[その1]最新技術で構築できる

仕事上でシステム構築していると、やれ「今までの実績」や「使用する根拠」を求められ、結局、今まで会社で使ったことがある言語・フレームワークで無難に構築することになります。
やはり、業務でやる上で「無難に構築する」というのは問題が発生した際に、対応できるメンバーも多いため重要なファクターであることは否めません。

しかし。しかしですよ!

面白くない!
確かに、上のようなメリットがあるのはわかります。
ただ、エンジニアで高みを目指す人が多い職場の場合、「無難」に攻めることは最終的に「破たん」への道のような気もします。

「この職場を続けていても、最新の技術を取ることができず、そのうち使えないエンジニアになってしまう。。。」

こういう考えがよぎった場合、オレオレサービスを持つことをおすすめします。
「オレオレサービス」を構築する上で「無難」とか「実績」とか考える必要は全くありません。

フリーダムです!

縛りが無いシステム構築するのは数倍楽しいです。

[その2]要件変更?やっちゃえ

業務上で要件変更をしなければいけない場合、非常にめんどくさい手順を行う必要があります。
採算・スケジュールを気にして上司に相談し、合意が得られればクライアントに相談し。。。

めっちゃめんどくさいです。
めっちゃめんどくさいので、「こっちのがいいけど、要件そのままで作っちゃえ!」なんてこともすごくあります。(そして破たんします。)

そんなめんどくさい「要件変更」ですが、オレオレサービスなら即要件変更できます。

だって、一人で作っているのなら、要件があるのは自分の頭だけなのですから。

フリーダムです!

上司とクライアントからの縛りの無いシステムを構築するのは数倍楽しいです。

[その3]あわよくば副収入得られる

世間では「景気が良い」とよく言われますが、あまり一般消費者にはそのうまみが行き渡っていないと思われる昨今です。
そんな世の中を渡っていく上で、仕事上の収入だけでは「不安」でしかありません。

そんなときにオレオレサービスです。

オレオレサービスを作ることで「あわよくば副収入」が得られる可能性もあるわけです。
こんなに楽しいことはありません。

ん?俺?
サーバ代やドメイン代で月5000円程赤字です。

まぁ、なかなかプラス収支出すのは難しいですが、オレオレサービスを公開することで「不労所得」の夢が見えてきますので、業務で開発なんてするより数倍楽しいです。

おわりに

2017年卒の方は明日から新入社員ですね。
「俺の会社、全く新しいことしてねぇ!このままじゃ、俺のキャリアがつぶれる!」

そんな考えがよぎった場合はぜひ「オレオレサービス」を作ってみて下さい。

IFTTTで簡単なレシピを作成してみる

Gakuです。
あけましておめでとうございます。
今年もよろしくお願いします。

さて、新年早々ではありますが何やらIFTTTとかいうサービスが流行っているようなので、少し触ってみた感想を投稿させて頂きます。

IFTTTって何ぞや?

「新しいFFFTP(´・ω・`)?」
と思った方も多いと思います。(僕がそうでした。)

IFTTTとは「if this then that」の略称で、「もしこの操作を行ったら、この操作を実行する」ということができるサービスです。
具体的に言うと、「Wordpressで記事を投稿したらtwitterで通知する」や「fitbitで起床ログを取ったら、Evernoteでそのログを記載したnoteを作成する」といったことができる仲介サービスになります。
何かのアクションをトリガーとして何かのアクションが実行されるという、「自動化」に重きを置いた素晴らしくワクワクするサービスです。
今後IoT業界が発達することでさらなる発展が期待されているサービスになります。

簡単なレシピを作成してみる

IFTTTでは「もしこの操作を行ったら、この操作を実行する」という一つ一つの単位を「レシピ」という言葉で表しています。
今回は簡単な「wordpressで新しい記事を投稿したら、twitterへ通知する」というレシピを作成したいと思います。

ユーザ登録

何はともあれユーザ登録です。
下記リンクからメールとパスワードを入力しユーザの登録を行います。
[blogcard url=”https://ifttt.com/join”][/blogcard]

IFTTTレシピを作成する

レシピを作成するには上部のメニューを開き「New Applet」リンクから作成可能です。
1
そしたら以下のような画面になるので「this」部分をクリックし、トリガーとなる処理を登録します。
2
今回は「wordpressで新しい記事を投稿したら、twitterへ通知する」というレシピを作成しますので、トリガーとなる「wordpress」を検索しクリックします。
3
はじめての場合wordpressへの認証が必要です。
「connect」をクリックし連携を行うwordpressの情報を適宜入力し認証を行います。
4
認証が完了するとwordpressの操作を設定する画面が表示されます。
「wordpressへ投稿したら」という操作になるので「Any new post」を選択します。
6

これでトリガー部分の設定は完了です。
次にトリガーを引いたら実行するアクションを設定していきます。
以下の画面が表示されるので「That」をクリックします。
7
twitterに投稿するというアクションを設定したいので、「twitter」で検索後クリックします。
8
ここでも初回の場合、認証が必要なので「connect」をクリックし適宜認証処理を実施して下さい。
9
認証が完了すると、アクションを設定する画面が表示されます。
wordpressの投稿をtwitterでtweetしたいため、今回は「Post a tweet」をクリックします。
11
そしたら、tweet内容の設定画面に遷移しますので、どのように投稿を行うか設定し「create action」をクリックします。
ちなみに表示にはHTMLダグが使用できるので、改行を行いたい場合は「br」タグを挿入すれば改行し投稿することが可能です。
12
最後に作成したレシピに名前を付与します。
日本語も使用可能ですので、わかりやすい名前を入力しましょう。
13
これで終わりです。お疲れ様でした~

投稿してみる

このレシピを使ってtwitterに投稿した結果がこちらになります。
16
ちゃんとwordpressで記事を投稿するとtwitter上で通知してくれるようになりました。
これは感動です!
ちなみに、IFTTTでは通知に最大1時間程度遅延が発生する可能性があるようです。
強制的に通知するには作成したレシピの下部にある「Check now」をクリックすれば遅延なくレシピを実行してくれます。(テスト時などに使用すれば良いかと思います。)
14

おわりに

簡単にIFTTTレシピを作成することができました。
まぁ、これぐらいであれば「wordpressのプラグイン使えよ!」という声が聞こえて来そうですが、様々な自動化処理を簡単に作成することができ、かつ、それを一つのサービスで管理できるというのは素晴らしいサービスだと思います。
今まであれば、何かの自動処理を実装することも面倒でしたし、対象の自動化処理を廃止したいと思った際「あれ、何切ればいいんだっけ?」と迷うことが多々ありました。
IFTTTで全て管理すれば、IFTTTのサービスを見るだけで良いので管理が非常に楽です。

これからIoTやスマートハウス分野などが活発になってくることが期待されていますが、このIFTTTを使用することでさらに面白いことができるんじゃないかと思います。
今回紹介したレシピ以外にも、IFTTTには様々なレシピが公開されているので、「自動化」に興味がある方は一度触れてみるのはいかがでしょうか。