Slide 1

Slide 1 text

Distribute Golang Tool to Multiple Platform

Slide 2

Slide 2 text

I’m Taichi Nakashima Twitter ID is @deeeet

Slide 3

Slide 3 text

http://deeeet.com/writing

Slide 4

Slide 4 text

docc dmux https://github.com/tcnksm/dmux https://github.com/tcnksm/docc - docker + tmux = dmux ! - docc open your project document

Slide 5

Slide 5 text

GoݴޠͰ࡞ͬͨπʔϧΛෳ਺ϓϥοτϑΥʔϜʹ഑෍͢Δ

Slide 6

Slide 6 text

Why start to write golang? ࣗ෼͕࡞ͬͨπʔϧΛ࢖ͬͯ΋Β͏ͨΊͷ োนΛԼ͍͛ͨɻgem? pip ? Λͳ͍ͨ͘͠ɻ

Slide 7

Slide 7 text

$ brew tap tcnksm/docc $ brew install docc OSX

Slide 8

Slide 8 text

hashicorp

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

Cross-Compile, Upload, Install How?

Slide 12

Slide 12 text

Cross-Compile

Slide 13

Slide 13 text

Basic $ GOOS=linux GOARCH=amd64 go build hikarie.go

Slide 14

Slide 14 text

mitchellh/gox $ gox ! --> darwin/386: github.com/tcnksm/hikarie --> darwin/amd64: github.com/tcnksm/hikarie --> linux/386: github.com/tcnksm/hikarie --> linux/amd64: github.com/tcnksm/hikarie --> linux/arm: github.com/tcnksm/hikarie --> freebsd/386: github.com/tcnksm/hikarie --> freebsd/amd64: github.com/tcnksm/hikarie --> openbsd/386: github.com/tcnksm/hikarie --> openbsd/amd64: github.com/tcnksm/hikarie

Slide 15

Slide 15 text

mitchellh/gox $ gox ! --> darwin/386: github.com/tcnksm/hikarie --> darwin/amd64: github.com/tcnksm/hikarie --> linux/386: github.com/tcnksm/hikarie --> linux/amd64: github.com/tcnksm/hikarie --> linux/arm: github.com/tcnksm/hikarie --> freebsd/386: github.com/tcnksm/hikarie --> freebsd/amd64: github.com/tcnksm/hikarie --> openbsd/386: github.com/tcnksm/hikarie --> openbsd/amd64: github.com/tcnksm/hikarie

Slide 16

Slide 16 text

• laher/goxc • davecheney/golang-crosscompile Else

Slide 17

Slide 17 text

Upload

Slide 18

Slide 18 text

https://github.com/tcnksm/docc/releases

Slide 19

Slide 19 text

https://bintray.com

Slide 20

Slide 20 text

REST API $ curl -T \ -utcnksm: \ https://api.bintray.com/content/tcnksm/dmux/dmux/ /

Slide 21

Slide 21 text

Install

Slide 22

Slide 22 text

$ brew tap tcnksm/docc $ brew install docc OSX

Slide 23

Slide 23 text

1. GitHub ϨϙδτϦ homebrew- Λ࡞੒ 2. Formula .rb Λ࡞੒ How

Slide 24

Slide 24 text

Formula require "formula" ! class Docc < Formula homepage "https://github.com/tcnksm/docc" version ‘0.1.1' url "https://github.com/tcnksm/docc/v0.1.1/docc_0.1.1_darwin_amd64.zip" sha1 "eaad2915415c5ceb3e3fb613420be62a856da46a" ! depends_on :arch => :intel ! def install bin.install 'docc' end end

Slide 25

Slide 25 text

Demo