本文整理匯總了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
}