Top View


Author shiro seike / せいけ しろう / 清家 史郎

GoのOSSをクロスコンパイルして公開する

2018/12/23

CircleCIによるテスト

デグレードが発生しないように必ずテストを通すようにしています

Goの場合はご存知の通り *_test.goという名前のファイルにしておけば
テスト用のファイルとして認識されます

golintも合わせて行っています。

やってることの詳細は以下を参照してください

S3ryの.circleci/config.yml

Release用のタグを作る

Githubのページに移動して新しいReleaseを作ります

内容を入力して Publish release するとソースコードが圧縮されて配置されますが、
各プラットフォーム様にコンパイルされたバイナリは配置されません。

そこでクロスコンパイルする方法を考えます

goxc

私はクロスコンパイルに goxcを利用しています

コマンド実行するだけで、クロスコンパイルを並列で処理してくれるので重宝しています

$ go get github.com/laher/goxc $ cd /path/to/yourApp $ goxc

するとdist/snapshot/配下にクロスコンパイルしたファイルを配置してくれます

このファイルをアップロードすればいいのですが、手軽にアップロードするためにもうひと工夫しております

ghr

Githubへのアップロードを行ってくれるghrを利用しています

$ ghr 【リリースタグ】 【ファイルが配置されているパス】

0.1.2dist/snapshot/をアップロードする場合は

$ ghr 0.1.2 dist/snapshot/

となります。

brewにてインストール出来るようにする

Homebrew tap でコマンドを公開するという記事を書いてますのでそちらをご参照ください

OSSを作成してリリースするための作業を単純化し、OSSをどんどん公開出来ればと考えております。

明日は@Jun-Changさんです。

どんな記事が上がってくるか楽しみですね!

shiro seike / せいけ しろう / 清家 史郎

shiro seike / せいけ しろう / 清家 史郎

Twitter X

Company:Fusic CO., LTD. Slides:slide.seike460.com blog:blog.seike460.com Program Language:PHP , Go Interest:Full Serverless Architecture

Related Posts

sam local start-apiでDynamoDB Localをゆるふわに使う
shiro seike / せいけ しろう / 清家 史郎

shiro seike / せいけ しろう / 清家 史郎

2020/12/30


aws-sdk-goを使ったAthena API
shiro seike / せいけ しろう / 清家 史郎

shiro seike / せいけ しろう / 清家 史郎

2020/12/21




DATA-DOG/go-sqlmockを使ってGormDBをmockする
shiro seike / せいけ しろう / 清家 史郎

shiro seike / せいけ しろう / 清家 史郎

2020/12/02