kintone コマンドラインツール (cli-kintone)
(著者:江田 篤史)
はじめに
第10回は、さまざまなプラットフォームで動くcli-kintone実行ファイルの作成方法を紹介します。
主なプラットフォーム用の実行ファイルは、cli-kintone(kintoneコマンドラインツール)で既にWindows 64-bit/Windows 32-bit/Linux 64-bit/MacOS 64-bitの4種類が配布されていますが、今回紹介する方法を用いると、それ以外のプラットフォームでもcli-kintoneが利用できるようになります。
ここでは、Ubuntu(64-bit)用、CentOS(32-bit)用のcli-kintone実行ファイルをWindowsで作成する例を紹介します。
cli-kintoneで利用されている技術
cli-kintoneのソースコードは「Go」というプログラミング言語で書かれています。
Goで書かれたプログラムは、ソースコードに対して「コンパイル」という作業を行うことで実行ファイルを作成できますが、この実行ファイルは、プラットフォームごとに異なる形式で作成される必要があります。
そのため、Go言語には「クロスコンパイル」と呼ばれる機能が備わっています。この機能によって、コンパイルを行うPCとは異なるプラットフォーム上で実行できるファイルを作ることができます。
今回はこのクロスコンパイルを用いて、各種プラットフォーム用のcli-kintone実行ファイルを作成してみます。
Go言語の開発環境を整える
それではまず、Go言語の開発環境を整えて行きましょう。Go言語の公式サイトから、Windows用のインストーラをダウンロードして実行します。
インストールが完了したら、コマンドプロンプトを起動して go version
と入力してみましょう。
下記のようにバージョンが表示されていれば正しくインストールされています。
ソースコードからcli-kintone実行ファイルを作成する
他のプラットフォーム用実行ファイルを作成する前に、まずはWindows用の実行ファイルを作成してみましょう。
Gitをインストールする
cli-kintoneのソースファイルを入手するために、今回はGitを利用します。インストールしていない場合は、Git for Windows からインストーラをダウンロードして実行しましょう。
インストールが完了したら、コマンドプロンプトで git --version
と入力して実行してみましょう。
下記のようにバージョンが表示されていれば、正しくインストールされています。
実行ファイルの作成に必要なコードを取得する
次に、cli-kintone実行ファイルの作成に必要なコードを、Go言語の機能を使って取得します。
以下の4つのコマンドを実行しましょう。
cli-kintoneのソースコードを取得する
ここまで準備ができたら、GitHubからcli-kintoneのソースコードを取得します。
今回は、環境変数GOPATH
で指定されているディレクトリ中のsrcディレクトリでソースコードを取得するので、コマンド go env GOPATH
を実行してGOPATH
の内容を確認してみましょう。
内容が確認できたら、GOPATH
ディレクトリの中のsrcに移動します。
そこで、コマンド git clone https://github.com/kintone-labs/cli-kintone.git
を実行して、cli-kintoneのソースコードを取得しましょう。
ソースコードの取得が完了したら、srcディレクトリの中に3つのディレクトリができていることを確認します。
実行ファイルを作成する
ここまでで実行ファイルを作成する準備が整いました。
cli-kintoneのソースコードを取得したディレクトリに移って、コマンド go build
を実行します。
コマンドの実行が終了すると、go build
を実行したディレクトリの下にWindows用の実行ファイル「cli-kintone」が作成されています。
cli-kintone
コマンドを実行して動作確認してみましょう。
以上が、cli-kintone実行ファイルをソースコードから作成する方法でした。
クロスコンパイルを行う
ここからは、Windows以外のプラットフォーム用実行ファイルの作成に入ります。
実行ファイルの動作確認は、もう1台別のPCを用意するか、あるいは仮想マシンを用意して行います。
今回はクロスコンパイルの例として、64-bitのUbuntu用実行ファイルと、32-bitのCentOS用実行ファイルを作成してみましょう。
STEP1 CPUアーキテクチャの確認
まず、クロスコンパイルする際にCPUアーキテクチャを指定する必要があるので、あらかじめ調べておきます。
linuxの場合、CPUアーキテクチャは arch
コマンドで確認できます。
STEP2 クロスコンパイル
次に、cli-kintoneを実行するOSを環境変数のGOOS
で、同じく環境変数のGOARCH
でCPUアーキテクチャを指定して、実行ファイルを作成します。
指定できるGOOS
、GOARCH
の組み合わせは以下の通りです。
GOOS | GOARCH |
---|---|
darwin | 386 |
darwin | amd64 |
freebsd | 386 |
freebsd | amd64 |
freebsd | arm |
linux | 386 |
linux | amd64 |
linux | arm |
netbsd | 386 |
netbsd | amd64 |
netbsd | arm |
openbsd | 386 |
openbsd | amd64 |
plan9 | 386 |
plan9 | amd64 |
windows | 386 |
windows | amd64 |
GOARCH
の値は、以下のCPUアーキテクチャを指しています。
GOARCH | CPUアーキテクチャ |
---|---|
amd64 | x86_64 |
386 | x86_32 |
arm | ARM_32 |
アーキテクチャが確認できたところで、実行ファイルの作成に移りましょう。
実行ファイルの作成は、下記3つのコマンドで行います。
まずはじめに、Ubuntu 64-bit 用の実行ファイルを作成します。
GOOS
にlinux、GOARCH
にamd64を指定して、go build
を実行します。
コマンドの実行が終わると、cli-kintone-ubuntu-64bit
というファイルができます。これが Ubuntu 64-bit 用の実行ファイルです。
これはlinux用の実行ファイルなので、当然ですがWindows上では動きません。念のため、実行して確かめてみましょう。
続いて、32-bit CentOS6用の実行ファイルも作成してみましょう。
GOOS
にlinux、GOARCH
に386を指定して、go build
を実行します。
cli-kintone-centos-32bit
というファイルが作成されているのを確認できたでしょうか。
STEP3 作成した実行ファイルの動作確認
最後に、作成した実行ファイルの動作確認を行いましょう。
以下では、Ubuntu 64-bit 用の実行ファイルを例として扱いますが、CentOS用実行ファイルも同様の手順で確認できます。
それでは、先ほど作成した実行ファイル cli-kintone-ubuntu-64bit
をUbuntu上に配置して実行してみましょう。
無事実行できたでしょうか。
今度はCSVファイルへのエクスポートを行ってみましょう。
ご覧のとおり、クロスコンパイルで作成した実行ファイルでも、これまで紹介してきた機能が使えます。
これで、所有しているサーバー上でもcli-kintoneを使うことができそうですね。
補足:仮想マシンの作成方法
仮想マシンの作成は、Vagrant と VirtualBox を用いると比較的かんたんに行えます。今回は、これらを用いてUbuntu環境を構築する方法を例として紹介します。
まず、Vagrant と VirtualBox のインストーラをそれぞれ下記のサイトからダウンロードし、インストールします。
インストールが済んだら、一度PCを再起動します。
再起動したら、仮想マシン用のディレクトリを作成します。Cドライブ直下に「Vagrant」ディレクトリ、その中に「ubuntu」ディレクトリを作成しましょう。
ディレクトリが作成できたら、コマンドプロンプトでそのディレクトリに移動します。
上記ディレクトリの準備ができたら、利用したいプラットフォームのBoxファイル(仮想マシンの雛形)をVagrantクラウドで探します。Providerは「virtualbox」を選択し、キーワードは「ubuntu」で検索してみましょう。
「ubuntu/trusty64」という Ubuntu 64-bit のboxをクリックします。
「How to use this box with Vagrant:」と書いてある下に「New」というタブがあります。
このタブをクリックしたときに表示されるコマンドを、上から順に実行します。
多少時間がかかりますが、ここまでが仮想マシン構築作業です。
次に、先ほど作成した実行ファイル cli-kintone-ubuntu-64bit
を仮想マシン内に配置します。Vagrantには、Windowsと仮想マシンの間で使えるファイル共有のしくみがあるので、これを利用します。
Windows上の Vagrantfile が置かれているディレクトリと、仮想マシン上の「/vagrant」が共有ディレクトリになっています。
まずは、Windows上からディレクトリの内容を確認してみましょう。
Windows上でファイルが確認できたら、コマンド vagrant ssh を実行して、仮想マシンにログインします。
仮想マシンにログインできたら、ディレクトリ「vagrant」に移動して vagrant
の中にcli-kintone実行ファイルがあることを確認しましょう。
実行ファイルが確認できたら、上記STEP3で紹介した方法で動作確認を行ってみてください。
2019/05/23追記:
Version 0.9.1以降のバージョンで、cli-kintone実行ファイルの作成に go-flags が必要となりました。
2020/03/23追記:
このTipsは、cli-kintone Ver 0.10.2 と2020年3月版 kintone で確認したものになります。
記事に関するフィードバック
記事のコメント欄は記事に対するフィードバックをする場となっております。
右の記事フィードバックのためのガイドを参照してコメントしてください。
記事のリンク切れなど、気になる点がある場合も、こちらのフォームからフィードバックいただけますと幸いです。