第 10 回 kintone コマンドラインツール(cli-kintone v0)をコンパイルしてみよう
このチュートリアルはver. 0.x.xのcli-kintoneの使い方を紹介しています。
ver.1.0.0以降のcli-kintoneの使い方を紹介するチュートリアルは次のページを参照してください。
はじめよう cli-kintone
はじめに
第10回は、さまざまなプラットフォームで動くcli-kintone実行ファイルの作成方法を紹介します。
cli-kintoneの GitHub リポジトリ では、次の4種類のプラットフォーム向けの実行ファイルを配布しています。
- Windows(64-bit)
- Windows(32-bit)
- Linux(64-bit)
- macOS(64-bit)
この記事で紹介する方法を用いると、それ以外のプラットフォームでも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用のインストーラーをダウンロードして実行します。
インストールが完了したら、コマンドプロンプトを起動してバージョンを確認するコマンドを実行します。
次のようにバージョンが表示されていれば正しくインストールされています。
|
|
ソースコードから cli-kintone の実行ファイルを作成する
他のプラットフォーム用実行ファイルを作成する前に、まずはWindows用の実行ファイルを作成してみましょう。
Git をインストールする
cli-kintoneのソースファイルを入手するために、今回はGitを利用します。
インストールしていない場合は、
Git for Windows
からインストーラーをダウンロードして実行しましょう。
インストールが完了したら、コマンドプロンプトを起動してバージョンを確認するコマンドを実行します。
次のようにバージョンが表示されていれば正しくインストールされています。
|
|
実行ファイルの作成に必要なコードを取得する
次に、cli-kintone実行ファイルの作成に必要なコードを、Go言語の機能を使って取得します。
以下の4つのコマンドを実行しましょう。
|
|
cli-kintone のソースコードを取得する
ここまで準備ができたら、GitHubからcli-kintoneのソースコードを取得します。
今回は、環境変数GOPATH
で指定されているディレクトリー中のsrcディレクトリーでソースコードを取得するので、環境変数を確認するコマンドを実行してGOPATH
の内容を確認してみましょう。
|
|
内容が確認できたら、GOPATH
ディレクトリーの中の「src」に移動します。
|
|
そこで、Gitのクローンコマンドを実行して、cli-kintoneのソースコードを取得しましょう。
|
|
ソースコードの取得が完了したら、「src」ディレクトリーの中に3つのディレクトリーができていることを確認します。
|
|
実行ファイルを作成する
ここまでで実行ファイルを作成する準備が整いました。
cli-kintoneのソースコードを取得したディレクトリーに移って、ビルドコマンドを実行します。
|
|
コマンドの実行が終了すると、ビルドコマンドを実行したディレクトリーの下に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 用の実行ファイルの作成
まずはじめに、Ubuntu 64-bit用の実行ファイルを作成します。
それぞれの環境変数に以下の値を設定して、ビルドコマンドを実行します。
GOOS
:linuxGOARCH
:amd64
|
|
コマンドの実行が終わると「cli-kintone-Ubuntu-64bit」というファイルができます。
これがUbuntu 64-bit用の実行ファイルです。
これはlinux用の実行ファイルなので、当然ですがWindows上では動きません。
念のため、実行して確かめてみましょう。
|
|
CentOS6 32-bit 用の実行ファイルの作成
続いて、CentOS6 32-bit用の実行ファイルも作成してみましょう。
それぞれの環境変数に以下の値を設定して、ビルドコマンドを実行します。
GOOS
:linuxGOARCH
:386
|
|
「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」に移動してcli-kintoneの実行ファイルがあることを確認しましょう。
|
|
実行ファイルが確認できたら、動作確認を行ってみてください。
確認方法は
作成した実行ファイルの動作確認を参照してください。
更新履歴
- 2019/05/23追記
Version 0.9.1以降のバージョンで、cli-kintone実行ファイルの作成にgo-flagsが必要となりました。
このTipsは、cli-kintone Ver 0.10.2と2020年3月版kintoneで動作を確認しています。