本文整理匯總了Golang中github.com/opentable/sous/core.Context.CanonicalPackageName方法的典型用法代碼示例。如果您正苦於以下問題:Golang Context.CanonicalPackageName方法的具體用法?Golang Context.CanonicalPackageName怎麽用?Golang Context.CanonicalPackageName使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/opentable/sous/core.Context
的用法示例。
在下文中一共展示了Context.CanonicalPackageName方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: DockerRun
func (t *CompileTarget) DockerRun(c *core.Context) *docker.Run {
containerName := t.ContainerName(c)
run := docker.NewRun(c.DockerTag())
run.Name = containerName
run.AddEnv("ARTIFACT_NAME", t.artifactName(c))
uid := cmd.Stdout("id", "-u")
gid := cmd.Stdout("id", "-g")
artifactOwner := fmt.Sprintf("%s:%s", uid, gid)
run.AddEnv("ARTIFACT_OWNER", artifactOwner)
artDir := t.artifactDir(c)
dir.EnsureExists(artDir)
run.AddVolume(artDir, "/artifacts")
run.AddVolume(c.WorkDir, "/wd")
binName := fmt.Sprintf("%s-%s", c.CanonicalPackageName(), c.BuildVersion)
run.Command = fmt.Sprintf("[ -d Godeps ] && godep go build -o %s || go build -o %s",
binName, binName)
return run
}
示例2: Dockerfile
func (t *AppTarget) Dockerfile(c *core.Context) *docker.Dockerfile {
if t.artifactPath == "" {
// Actually, it is first set by compile target, then the PreDockerBuild
// step links it into the WD and resets artifactPath to a local, relative
// path.
t.artifactPath = "<¡ artifact path set by compile target !>"
}
df := &docker.Dockerfile{}
df.From = t.pack.baseImageTag("app")
// Since the artifact is tar.gz, and the dest is a directory, docker automatically unpacks it.
df.AddAdd(t.artifactPath, "/srv/app/")
// Pick out the contents of NPM start to invoke directly (using npm start in
// production shields the app from signals, which are required to be handled by
// the app itself to do graceful shutdown.
df.Entrypoint = []string{
fmt.Sprintf("/srv/app/%s-%s", c.CanonicalPackageName(), c.BuildVersion),
}
return df
}
示例3: ContainerName
// ContainerName returns the name that will be given to the next container we
// build. This does not have to change for each build, Sous will automatically
// deleted any pre-existing containers with this name before creating a new one.
func (t *CompileTarget) ContainerName(c *core.Context) string {
return fmt.Sprintf("%s_reusable-builder", c.CanonicalPackageName())
}
示例4: artifactName
func (t *CompileTarget) artifactName(c *core.Context) string {
return fmt.Sprintf("%s-%s-%s-%d", c.CanonicalPackageName(), c.BuildVersion, c.Git.CommitSHA, c.BuildNumber())
}
示例5: ContainerName
func (t *TestTarget) ContainerName(c *core.Context) string {
return c.CanonicalPackageName() + "_test"
}
示例6: ContainerName
func (t *AppTarget) ContainerName(c *core.Context) string {
return c.CanonicalPackageName()
}