如此,用dep获取私有库

如此,用dep获取私有库

介绍

dep是一个依赖管理工具。它须要1.9或更新的Golang版本才能编译git

dep已经可以在生产环节安全使用,但还在官方的试验阶段,也就是还不在go tool中。但我想是早晚的事 :=)github

指南和参考资料,请参阅文档golang

获取私有库

咱们经常使用的git方式有两种,第一种是经过ssh,第二种是httpssegmentfault

本文中咱们以gitlab.com为案例,建立一个private的私有仓库安全

经过ssh方式

首先咱们须要在本机上生成ssh-key,若没有生成过可右拐传送门ssh

获得须要使用的ssh-key后,咱们打开咱们的gitlab.com,复制粘贴入咱们的Settings -> SSH Keys工具

图片描述

添加成功后,咱们直接在Gopkg.toml里配置好咱们的参数gitlab

[[constraint]]
  branch = "master"
  name = "gitlab.com/eddycjy/test"
  source = "git@gitlab.com:EDDYCJY/test.git"

在拉取资源前,要注意假设你是第一次用该ssh-key拉取,须要先手动用git clone拉取一遍,赞成ECDSA key fingerprintspa

$ git clone git@gitlab.com:EDDYCJY/test.git
Cloning into 'test'...
The authenticity of host 'gitlab.com (52.167.219.168)' can't be established.
ECDSA key fingerprint is xxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)? yes
...

接下来,咱们在项目下直接执行dep ensure就能够拉取下来了!code

问题

  1. 假设你是第一次,又没有执行上面那一步(ECDSA key fingerprint),会一直卡住
  2. 正确的反馈应当是执行完命令后没有错误,但若是出现该错误提示,那说明该存储仓库没有被归入dep中(例:gitee
$ dep ensure

The following issues were found in Gopkg.toml:

unable to deduce repository and source type for "xxxx": unable to read metadata: go-import metadata not found

ProjectRoot name validation failed

经过https方式

咱们直接在Gopkg.toml里配置好咱们的参数

[[constraint]]
  branch = "master"
  name = "gitlab.com/eddycjy/test"
  source = "https://{username}:{password}@gitlab.com"

主要是修改source的配置项,username填写在gitlab的用户名,password为密码

最后回到项目下执行dep ensure拉取资源就能够了

最后

dep目前仍是官方试验阶段,还可能存在变数

请务必以sf上的原文为准,若是dep新版本有变更,会随着修改

相关文章
相关标签/搜索