diff options
| author | Christine Dodrill <me@christine.website> | 2017-12-13 11:42:17 -0800 |
|---|---|---|
| committer | Christine Dodrill <me@christine.website> | 2017-12-13 11:42:37 -0800 |
| commit | f2302488aa0a2b86b42bf16a185312add2793676 (patch) | |
| tree | 02d7e5ef25415f90e91cbc627c7d7423064b22d5 | |
| parent | 43dba08659657c823dac01afbdedab7a87b41d15 (diff) | |
| download | xesite-f2302488aa0a2b86b42bf16a185312add2793676.tar.xz xesite-f2302488aa0a2b86b42bf16a185312add2793676.zip | |
box+mage: cleanup
| -rw-r--r-- | box.rb | 17 | ||||
| -rw-r--r-- | mage.go | 27 | ||||
| -rw-r--r-- | mage_helpers.go | 11 |
3 files changed, 21 insertions, 34 deletions
@@ -6,29 +6,20 @@ run "go1.9.2 download" ### Copy files run "mkdir -p /site" -def debug?() - getenv("DEBUG") == "yes" -end - -def debug!() - run "apk add --no-cache bash" - debug -end - def put(file) copy "./#{file}", "/site/#{file}" end files = [ - "blog", - "templates", "gops.go", "hash.go", "html.go", "main.go", - "rice-box.go", "rss.go", - "run.sh" + "run.sh", + "templates", + "blog", + "rice-box.go" ] files.each { |x| put x } @@ -10,9 +10,16 @@ import ( "github.com/magefile/mage/mg" ) +func do(cmd string, args ...string) { + shouldWork(context.Background(), nil, wd, cmd, args...) +} + // Setup installs the tools that other parts of the build process depend on. func Setup(ctx context.Context) { - shouldWork(ctx, nil, wd, "go", "get", "-u", "-v", "github.com/GeertJohan/go.rice/rice") + // go tools + do("go", "get", "-u", "-v", "github.com/GeertJohan/go.rice/rice") + + do("git", "remote", "add", "dokku", "dokku@minipaas.xeserv.us") } // Generate runs all of the code generation. @@ -20,21 +27,19 @@ func Generate(ctx context.Context) { shouldWork(ctx, nil, wd, "rice", "embed-go") } -// Build creates the docker image xena/christine.website using box(1). -func Build() { +// Docker creates the docker image xena/christine.website using box(1). +func Docker() { ctx, cancel := context.WithCancel(context.Background()) defer cancel() + mg.Deps(Generate) + shouldWork(ctx, nil, wd, "box", "box.rb") } // Deploy does the work needed to deploy this image to the dokku server. func Deploy(ctx context.Context) error { - mg.Deps(Build) - - do := func(cmd string, args ...string) { - shouldWork(ctx, nil, wd, cmd, args...) - } + mg.Deps(Docker) tag, err := gitTag() if err != nil { @@ -45,7 +50,9 @@ func Deploy(ctx context.Context) error { do("docker", "push", "xena/christine.website:"+tag) const dockerfileTemplate = `FROM xena/christine.website:${VERSION} -RUN apk add --no-cache bash` +EXPOSE 5000 +RUN apk add --no-cache bash +CMD /site/run.sh` data := os.Expand(dockerfileTemplate, func(inp string) string { switch inp { case "VERSION": @@ -61,7 +68,7 @@ RUN apk add --no-cache bash` return err } - fmt.Fprintln(fout, Dockerfile) + fmt.Fprintln(fout, data) fout.Close() do("git", "add", "Dockerfile") diff --git a/mage_helpers.go b/mage_helpers.go index 8b876ab..08c4526 100644 --- a/mage_helpers.go +++ b/mage_helpers.go @@ -7,7 +7,6 @@ import ( "log" "os" "os/exec" - "runtime" "strings" "github.com/jtolds/qod" @@ -74,13 +73,3 @@ func goBuild(ctx context.Context, env []string, dir string, pkgname string) { func goInstall(ctx context.Context, env []string, pkgname string) { shouldWork(ctx, nil, wd, "go", "install", pkgBase+pkgname) } - -func goBuildPlugin(ctx context.Context, dir, pkgname, fname string) { - if runtime.GOOS != "linux" { - qod.Printlnf("plugins don't work on non-linux machines yet :(") - return - } - - shouldWork(ctx, nil, dir, "go", "build", "-v", "-buildmode=plugin", "-o="+fname, pkgBase+pkgname) - qod.Printlnf("built %s for %s", fname, runtime.GOOS) -} |
