当前位置: 首页>>代码示例>>Golang>>正文


Golang Proxy.Set方法代码示例

本文整理汇总了Golang中github.com/drone/drone/shared/build/proxy.Proxy.Set方法的典型用法代码示例。如果您正苦于以下问题:Golang Proxy.Set方法的具体用法?Golang Proxy.Set怎么用?Golang Proxy.Set使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/drone/drone/shared/build/proxy.Proxy的用法示例。


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

示例1: TestWriteProxyScript

func TestWriteProxyScript(t *testing.T) {
	// temporary directory to store file
	dir, _ := ioutil.TempDir("", "drone-test-")
	defer os.RemoveAll(dir)

	// fake service container that we'll assume was part of the yaml
	// and should be attached to the build container.
	c := docker.Container{
		NetworkSettings: &docker.NetworkSettings{
			IPAddress: "172.1.4.5",
			Ports: map[docker.Port][]docker.PortBinding{
				docker.NewPort("tcp", "3306"): nil,
			},
		},
	}

	// this should generate the following proxy file
	p := proxy.Proxy{}
	p.Set("3306", "172.1.4.5")
	want := p.String()

	b := Builder{}
	b.services = append(b.services, &c)
	b.writeProxyScript(dir)

	// persist a dummy proxy script to disk
	got, err := ioutil.ReadFile(filepath.Join(dir, "proxy.sh"))
	if err != nil {
		t.Errorf("Expected proxy.sh file saved to disk")
	}

	if string(got) != want {
		t.Errorf("Expected proxy.sh value saved as %s, got %s", want, got)
	}
}
开发者ID:grupawp,项目名称:drone,代码行数:35,代码来源:build_test.go

示例2: writeProxyScript

// writeProxyScript is a helper function that
// will generate the proxy.sh file in the builder's
// temp directory to be added to the Image.
func (b *Builder) writeProxyScript(dir string) error {
	var proxyfile = proxy.Proxy{}

	// loop through services so that we can
	// map ip address to localhost
	for _, container := range b.services {
		// create an entry for each port
		for port := range container.NetworkSettings.Ports {
			proxyfile.Set(port.Port(), container.NetworkSettings.IPAddress)
		}
	}

	// write the proxyfile to the temp directory
	proxyfilePath := filepath.Join(dir, "proxy.sh")
	return ioutil.WriteFile(proxyfilePath, proxyfile.Bytes(), 0755)
}
开发者ID:gsmartway,项目名称:drone,代码行数:19,代码来源:build.go


注:本文中的github.com/drone/drone/shared/build/proxy.Proxy.Set方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。