• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang repository.ReadOnlyURL函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/globocom/tsuru/repository.ReadOnlyURL函数的典型用法代码示例。如果您正苦于以下问题:Golang ReadOnlyURL函数的具体用法?Golang ReadOnlyURL怎么用?Golang ReadOnlyURL使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了ReadOnlyURL函数的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: Provision

func (p *JujuProvisioner) Provision(app provision.App) error {
	var buf bytes.Buffer
	charms, err := config.GetString("juju:charms-path")
	if err != nil {
		return errors.New(`Setting "juju:charms-path" is not defined.`)
	}
	args := []string{
		"deploy", "--repository", charms,
		"local:" + app.GetPlatform(), app.GetName(),
	}
	err = runCmd(false, &buf, &buf, args...)
	out := buf.String()
	if err != nil {
		app.Log("Failed to create machine: "+out, "tsuru")
		return cmdError(out, err, args)
	}
	setOption := []string{
		"set", app.GetName(), "app-repo=" + repository.ReadOnlyURL(app.GetName()),
	}
	runCmd(true, &buf, &buf, setOption...)
	if p.elbSupport() {
		router, err := Router()
		if err != nil {
			return err
		}
		if err = router.AddBackend(app.GetName()); err != nil {
			return err
		}
		p.enqueueUnits(app.GetName())
	}
	return nil
}
开发者ID:nemx,项目名称:tsuru,代码行数:32,代码来源:provisioner.go


示例2: TestDockerDeployRetries

func (s *S) TestDockerDeployRetries(c *gocheck.C) {
	var buf bytes.Buffer
	fexec := etesting.RetryExecutor{
		Failures: 3,
		FakeExecutor: etesting.FakeExecutor{
			Output: map[string][][]byte{"*": {[]byte("connection refused")}},
		},
	}
	setExecut(&fexec)
	defer setExecut(nil)
	container := container{Id: "c-01", Ip: "10.10.10.10", AppName: "myapp"}
	err := container.deploy(&buf)
	c.Assert(err, gocheck.IsNil)
	commands := fexec.GetCommands("ssh")
	c.Assert(commands, gocheck.HasLen, 5)
	deployArgs := []string{
		"10.10.10.10", "-l", s.sshUser, "-o", "StrictHostKeyChecking no",
		"--", s.deployCmd, repository.ReadOnlyURL(container.AppName),
	}
	for _, cmd := range commands[:4] {
		c.Check(cmd.GetArgs(), gocheck.DeepEquals, deployArgs)
	}
	runArgs := []string{
		"10.10.10.10", "-l", s.sshUser, "-o", "StrictHostKeyChecking no",
		"--", s.runBin, s.runArgs,
	}
	c.Assert(commands[4].GetArgs(), gocheck.DeepEquals, runArgs)
}
开发者ID:richardjoo,项目名称:tsuru,代码行数:28,代码来源:docker_test.go


示例3: TestDockerDeploy

func (s *S) TestDockerDeploy(c *gocheck.C) {
	var buf bytes.Buffer
	fexec := &etesting.FakeExecutor{
		Output: map[string][][]byte{"*": {[]byte("success\n")}},
	}
	setExecut(fexec)
	defer setExecut(nil)
	container := container{Id: "c-01", Ip: "10.10.10.10", AppName: "myapp"}
	err := container.deploy(&buf)
	c.Assert(err, gocheck.IsNil)
	c.Assert(buf.String(), gocheck.Equals, "success\n")
	appRepo := repository.ReadOnlyURL(container.AppName)
	deployArgs := []string{
		"10.10.10.10", "-l", s.sshUser, "-o", "StrictHostKeyChecking no",
		"--", s.deployCmd, appRepo,
	}
	runArgs := []string{
		"10.10.10.10", "-l", s.sshUser, "-o", "StrictHostKeyChecking no",
		"--", s.runBin, s.runArgs,
	}
	c.Assert(fexec.ExecutedCmd("ssh", deployArgs), gocheck.Equals, true)
	c.Assert(fexec.ExecutedCmd("ssh", runArgs), gocheck.Equals, true)
	cont, err := getContainer(container.Id)
	c.Assert(err, gocheck.IsNil)
	c.Assert(cont.Status, gocheck.Equals, "running")
}
开发者ID:richardjoo,项目名称:tsuru,代码行数:26,代码来源:docker_test.go


示例4: TestCloneRepository

func (s *S) TestCloneRepository(c *gocheck.C) {
	p := testing.NewFakeProvisioner()
	p.PrepareOutput([]byte("something"))
	app := testing.NewFakeApp("your", "python", 1)
	out, err := clone(p, app)
	c.Assert(err, gocheck.IsNil)
	c.Assert(string(out), gocheck.Equals, "something")
	url := repository.ReadOnlyURL(app.GetName())
	path, _ := repository.GetPath()
	expectedCommand := fmt.Sprintf("git clone %s %s --depth 1", url, path)
	c.Assert(p.GetCmds(expectedCommand, app), gocheck.HasLen, 1)
}
开发者ID:richardjoo,项目名称:tsuru,代码行数:12,代码来源:git_test.go


示例5: clone

// Clone runs a git clone to clone the app repository in an ap.
func clone(p provision.Provisioner, app provision.App) ([]byte, error) {
	var buf bytes.Buffer
	path, err := repository.GetPath()
	if err != nil {
		return nil, fmt.Errorf("Tsuru is misconfigured: %s", err)
	}
	cmd := fmt.Sprintf("git clone %s %s --depth 1", repository.ReadOnlyURL(app.GetName()), path)
	err = p.ExecuteCommand(&buf, &buf, app, cmd)
	b := buf.Bytes()
	log.Printf(`"git clone" output: %s`, b)
	return b, err
}
开发者ID:richardjoo,项目名称:tsuru,代码行数:13,代码来源:git.go


示例6: deployCmds

// deployCmds returns the commands that is used when provisioner
// deploy an unit.
func deployCmds(app provision.App, version string) ([]string, error) {
	deployCmd, err := config.GetString("docker:deploy-cmd")
	if err != nil {
		return nil, err
	}
	appRepo := repository.ReadOnlyURL(app.GetName())
	user, err := config.GetString("docker:ssh:user")
	if err != nil {
		return nil, err
	}
	cmds := []string{"sudo", "-u", user, deployCmd, appRepo, version}
	return cmds, nil
}
开发者ID:rif,项目名称:golang-stuff,代码行数:15,代码来源:commands.go


示例7: deployCmds

// deployCmds returns the commands that is used when provisioner
// deploy an unit.
func deployCmds(app provision.App, version string) ([]string, error) {
	deployCmd, err := config.GetString("docker:deploy-cmd")
	if err != nil {
		return nil, err
	}
	appRepo := repository.ReadOnlyURL(app.GetName())
	var envs string
	for _, env := range app.Envs() {
		envs += fmt.Sprintf("%s='%s' ", env.Name, env.Value)
	}
	cmds := []string{deployCmd, appRepo, version, envs}
	return cmds, nil
}
开发者ID:nemx,项目名称:tsuru,代码行数:15,代码来源:commands.go


示例8: TestDeployCmds

func (s *S) TestDeployCmds(c *gocheck.C) {
	app := testing.NewFakeApp("app-name", "python", 1)
	deployCmd, err := config.GetString("docker:deploy-cmd")
	c.Assert(err, gocheck.IsNil)
	version := "version"
	appRepo := repository.ReadOnlyURL(app.GetName())
	user, err := config.GetString("docker:ssh:user")
	c.Assert(err, gocheck.IsNil)
	expected := []string{"sudo", "-u", user, deployCmd, appRepo}
	cmds, err := deployCmds(app, version)
	c.Assert(err, gocheck.IsNil)
	c.Assert(cmds, gocheck.DeepEquals, expected)
}
开发者ID:paulopatto,项目名称:tsuru,代码行数:13,代码来源:commands_test.go


示例9: TestDeployCmds

func (s *S) TestDeployCmds(c *gocheck.C) {
	app := testing.NewFakeApp("app-name", "python", 1)
	env := bind.EnvVar{
		Name:   "http_proxy",
		Value:  "http://theirproxy.com:3128/",
		Public: true,
	}
	app.SetEnv(env)
	deployCmd, err := config.GetString("docker:deploy-cmd")
	c.Assert(err, gocheck.IsNil)
	version := "version"
	appRepo := repository.ReadOnlyURL(app.GetName())
	expected := []string{deployCmd, appRepo, version, `http_proxy='http://theirproxy.com:3128/' `}
	cmds, err := deployCmds(app, version)
	c.Assert(err, gocheck.IsNil)
	c.Assert(cmds, gocheck.DeepEquals, expected)
}
开发者ID:nemx,项目名称:tsuru,代码行数:17,代码来源:commands_test.go


示例10: TestDeployCmds

func (s *S) TestDeployCmds(c *gocheck.C) {
	h := &testing.TestHandler{}
	gandalfServer := testing.StartGandalfTestServer(h)
	defer gandalfServer.Close()
	app := testing.NewFakeApp("app-name", "python", 1)
	env := bind.EnvVar{
		Name:   "http_proxy",
		Value:  "[http://theirproxy.com:3128/, http://teste.com:3111]",
		Public: true,
	}
	app.SetEnv(env)
	deployCmd, err := config.GetString("docker:deploy-cmd")
	c.Assert(err, gocheck.IsNil)
	version := "version"
	appRepo := repository.ReadOnlyURL(app.GetName())
	expected := []string{deployCmd, appRepo, version, `http_proxy=[http://theirproxy.com:3128/,http://teste.com:3111] `}
	cmds, err := deployCmds(app, version)
	c.Assert(err, gocheck.IsNil)
	c.Assert(cmds, gocheck.DeepEquals, expected)
}
开发者ID:rpeterson,项目名称:tsuru,代码行数:20,代码来源:commands_test.go


示例11: TestProvision

func (s *S) TestProvision(c *gocheck.C) {
	fexec := &etesting.FakeExecutor{}
	setExecut(fexec)
	defer setExecut(nil)
	config.Set("juju:charms-path", "/etc/juju/charms")
	defer config.Unset("juju:charms-path")
	config.Set("host", "somehost")
	defer config.Unset("host")
	app := testing.NewFakeApp("trace", "python", 0)
	p := JujuProvisioner{}
	err := p.Provision(app)
	c.Assert(err, gocheck.IsNil)
	args := []string{
		"deploy", "--repository", "/etc/juju/charms", "local:python", "trace",
	}
	c.Assert(fexec.ExecutedCmd("juju", args), gocheck.Equals, true)
	args = []string{
		"set", "trace", "app-repo=" + repository.ReadOnlyURL("trace"),
	}
	c.Assert(fexec.ExecutedCmd("juju", args), gocheck.Equals, true)
}
开发者ID:nemx,项目名称:tsuru,代码行数:21,代码来源:provisioner_test.go


示例12: deploy

func (c *container) deploy(w io.Writer) error {
	deployCmd, err := config.GetString("docker:deploy-cmd")
	if err != nil {
		c.setStatus("error")
		return err
	}
	runBin, err := config.GetString("docker:run-cmd:bin")
	if err != nil {
		c.setStatus("error")
		return err
	}
	runArgs, _ := config.GetString("docker:run-cmd:args")
	appRepo := repository.ReadOnlyURL(c.AppName)
	filter := filter{w: w, content: []byte("connection refused")}
	for {
		err = c.ssh(w, &filter, deployCmd, appRepo)
		if err == nil {
			break
		}
		if !filter.filtered {
			c.setStatus("error")
			return err
		}
		log.Printf("SSH to the container %q failed. Will retry.", c.Id)
		time.Sleep(100e6)
		filter.filtered = false
	}
	var buf bytes.Buffer
	err = c.ssh(&buf, &buf, runBin, strings.Fields(runArgs)...)
	if err != nil {
		log.Printf("Failed to start container: %s", err)
		log.Printf("Output of the command: %s", buf.String())
		c.setStatus("error")
		return err
	}
	c.setStatus("running")
	return nil
}
开发者ID:richardjoo,项目名称:tsuru,代码行数:38,代码来源:docker.go



注:本文中的github.com/globocom/tsuru/repository.ReadOnlyURL函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang repository.ServerURL函数代码示例发布时间:2022-05-23
下一篇:
Golang repository.GitServerUri函数代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap