本文整理汇总了Golang中github.com/pivotal-cf-experimental/bosh-test/bosh.Client.UploadRelease方法的典型用法代码示例。如果您正苦于以下问题:Golang Client.UploadRelease方法的具体用法?Golang Client.UploadRelease怎么用?Golang Client.UploadRelease使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/pivotal-cf-experimental/bosh-test/bosh.Client
的用法示例。
在下文中一共展示了Client.UploadRelease方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: downloadAndUploadRelease
func downloadAndUploadRelease(boshClient bosh.Client, release string) error {
file, size, err := download(release)
if err != nil {
return err
}
_, err = boshClient.UploadRelease(bosh.NewSizeReader(file, size))
return err
}
示例2: DownloadLatestConsulRelease
func DownloadLatestConsulRelease(client bosh.Client) (string, error) {
resp, err := http.Get("http://bosh.io/api/v1/releases/github.com/cloudfoundry-incubator/consul-release")
if err != nil {
return "", err
}
defer resp.Body.Close()
releases := []release{}
json.NewDecoder(resp.Body).Decode(&releases)
if len(releases) < 1 {
return "", errors.New("no releases")
}
dir, err := ioutil.TempDir("", "")
if err != nil {
return "", err
}
out, err := os.Create(filepath.Join(dir, "consul-release.tgz"))
if err != nil {
return "", err
}
defer out.Close()
resp, err = http.Get(releases[0].URL)
if err != nil {
return "", err
}
defer resp.Body.Close()
_, err = io.Copy(out, resp.Body)
if err != nil {
return "", err
}
_, err = out.Seek(0, 0)
if err != nil {
return "", err
}
info, err := out.Stat()
if err != nil {
return "", err
}
_, err = client.UploadRelease(bosh.NewSizeReader(out, info.Size()))
if err != nil {
return "", err
}
return releases[0].Version, nil
}