问个gitlab ci 跑go test的问题

项目里面有A B 2个包,在2个子文件夹里面,B依赖A, 在gitlab ci里面 项目是被gitlab ci执行git pull拉下来的 没有办法放在gopath里面 这样在跑的时候就出现找不到a的问题 大家有没有遇到
已邀请:

logiz - 域名行业

赞同来自: robi

弄了个软连接解决了
ln -s /home/gitlab-runner/xxxx/ /var/www/gopath/src

astaxie - 创造、获取、分享、传播和应用Go

这个只有两种办法解决,第一种B依赖A就使用相对的依赖 `import ./A`

第二种就是设置gopath,然后git pull把完整目录建好

logiz - 域名行业

git pull 是gitlab ci 自动执行的估计没办法改到完整目录,昨天群里面有人说用docker跑的

一会试试能不能行,如果也不行就只有改成相对路径了

robi - https://github.com/lysu

之前自己解决是参考travis ci

```
$ export GOPATH=$HOME/gopath
$ export PATH=$HOME/gopath/bin:$PATH
$ mkdir -p $HOME/gopath/src/github.com/lysu/xx
$ rsync -az ${TRAVIS_BUILD_DIR}/ $HOME/gopath/src/github.com/lysu/xx/
$ export TRAVIS_BUILD_DIR=$HOME/gopath/src/github.com/lysu/xx
$ cd $HOME/gopath/src/github.com/lysu/xx
```

每次先把构建用的gopath建立起来,然后rsync过去- - 不过感觉ln更好~
使用 vendor 试一下呢

要回复问题请先登录注册