summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Duvall <dduvall@wikimedia.org>2017-04-19 12:18:04 -0700
committerDan Duvall <dduvall@wikimedia.org>2017-04-19 12:18:04 -0700
commit4a3550fc26296165e917e966335721de05d1d63e (patch)
tree2024cb5e0b9212a05e0ef6812be46d4c01589a02
parent82e80325b9def5054c466c2d44b1a031e0eeab68 (diff)
downloadblubber-4a3550fc26296165e917e966335721de05d1d63e.tar.gz
Allow configuration of whether to copy in source tree
-rw-r--r--blubber.example.json3
-rw-r--r--config/common.go3
-rw-r--r--config/npm.go4
-rw-r--r--docker/compiler.go4
4 files changed, 10 insertions, 4 deletions
diff --git a/blubber.example.json b/blubber.example.json
index 57f72c3..14384c0 100644
--- a/blubber.example.json
+++ b/blubber.example.json
@@ -10,11 +10,12 @@
"test": {
"includes": ["development"],
"apt": { "packages": ["chromium"] },
+ "copiestree": true,
"entrypoint": ["npm", "test"]
},
"production": {
"npm": { "env": "production" },
- "artifacts": [{ "from": "test", "source": ".", "destination": "." }],
+ "artifacts": [{ "from": "test", "source": "/srv/service", "destination": "." }],
"entrypoint": ["npm", "start"]
}
}
diff --git a/config/common.go b/config/common.go
index ae2e438..782c454 100644
--- a/config/common.go
+++ b/config/common.go
@@ -5,6 +5,7 @@ type CommonConfig struct {
Apt AptConfig `json:apt`
Npm NpmConfig `json:npm`
Run RunConfig `json:run`
+ CopiesTree bool `json:copiestree`
EntryPoint []string `json:entrypoint`
}
@@ -17,6 +18,8 @@ func (cc1 *CommonConfig) Merge(cc2 CommonConfig) {
cc1.Npm.Merge(cc2.Npm)
cc1.Run.Merge(cc2.Run)
+ cc1.CopiesTree = cc1.CopiesTree || cc2.CopiesTree
+
if len(cc1.EntryPoint) < 1 {
cc1.EntryPoint = cc2.EntryPoint
}
diff --git a/config/npm.go b/config/npm.go
index d563045..54168ed 100644
--- a/config/npm.go
+++ b/config/npm.go
@@ -27,10 +27,8 @@ func (npm NpmConfig) Commands() []string {
buffer.WriteString("npm install")
if npm.Env == "production" {
- buffer.WriteString(" --production")
+ buffer.WriteString(" --production && npm dedupe")
}
- buffer.WriteString(" && npm dedupe")
-
return []string{buffer.String()}
}
diff --git a/docker/compiler.go b/docker/compiler.go
index 0f6cd92..b1eee87 100644
--- a/docker/compiler.go
+++ b/docker/compiler.go
@@ -44,6 +44,10 @@ func CompileStage(buffer *bytes.Buffer, stage string, vcfg *config.VariantConfig
Writeln(buffer, "WORKDIR ", vcfg.Run.In)
}
+ if vcfg.CopiesTree {
+ Writeln(buffer, "COPY . .")
+ }
+
CompileToCommands(buffer, vcfg.Npm)
// Artifact copying