我有一个包结构
$GOPATH/src/io.sure/api/proto/vi/party.pb.go
.../io.sure/party/party.go
../io.sure/Dockerfile
进口party.go
import (
"context"
"google.golang.org/grpc"
"io.sure/api/proto/v1"
"log"
"net"
)
FROM golang:1.12.1-alpine AS builder
RUN apk update && apk add --no-cache git
WORKDIR /go/src/app
COPY ./party/ .
COPY ./api/ .
RUN go get -d -v
RUN CGO_ENABLED=0 go install
FROM scratch
WORKDIR /opt
COPY --from=builder /go/bin/app .
ENTRYPOINT ["/opt/app"]
代码从命令行编译和运行。但是当我构建一个docker映像时,去尝试下载io.sure/api/proto/v1即使我在docker映像中复制了api文件夹。我怎么能停止/跳过下载包,因为我没有github或任何其他公共回购上的代码。
销售是一件正确的事情,因为它是我自己的包装,可能不会出口或出口到外部世界。
我尝试了go模块,但我面临问题,仍然希望使用GOPATH。
对两种组合都进行了ried,但仍然存在相同的错误。代码确实会被复制到图像路径中。
来自戈朗:1.12。1-alpine作为构建器运行apk更新
从零开始WORKDIR /optCOPY--from=Builder /go/bin/app。入口点["/选择/应用"]
来自戈朗:1.12。1-alpine作为构建器运行apk更新
从头开始WORKDIR/opt COPY--FROM=builder/go/bin/app。入口点[“/opt/app”]获取https://io.sure/api/proto/v1/party?go-get=1 https获取失败:gethttps://io.sure/api/proto/v1/party?go-get=1:拨号tcp:查找io。当然可以。xx。0.2:53:没有这样的主机包io。sure/api/proto/v1/party:无法识别的导入路径“io.sure/api/proto/v1/party”(https获取:Get)https://io.sure/api/proto/v1/party?go-get=1:拨号tcp:查找io。当然可以。31.0.2:53:没有这样的主持人)
找到了解决办法。修改的Dockerfile。所有依赖项都使用Godep进行管理
将workdir更改为 /go/src/github.com/kubesure/party
增加了RUN的回声"[url\"git@github.com:\"]\n\tinsteOf=https://github.com/"
RUN echo "[url \"git@github.com:\"]\n\tinsteadOf = https://github.com/" >> /root/.gitconfig
RUN apk update && apk add --no-cache git
WORKDIR /go/src/github.com/kubesure/party
COPY . .
RUN CGO_ENABLED=0 go install
FROM scratch
WORKDIR /opt
COPY --from=builder /go/bin/party .
EXPOSE 50051
CMD ["/opt/party"]
您的$GOPATH
的内容在cli和DockerImage之间的不同之处在于您的包不在正确的位置。
您需要运行mkdir-p$GOPATH/src/io。当然可以
和复制/参与方$GOPATH/src/io。确保/
在Dockerimage中实现与cli相同的布局。
你可能需要调整路径,但我希望你能理解
我的项目代码托管在git和gerrit上。我想把gerrit和jenkins结合起来。当我在源代码管理部分(Jenkins)中输入SSH路径或HTTP路径时,我得到下面的错误 错误: 在主工作区/var/lib/jenkins/workspace/demo[WS-CLEANUP]删除项目工作区时,计时器在主工作区上构建启动。。。[WS-CLEANUP]已完成克隆远程Git存储库克隆存储库http:
本文向大家介绍两分钟学会如何在github托管代码,包括了两分钟学会如何在github托管代码的使用技巧和注意事项,需要的朋友参考一下 本篇博客针对不会Git的小童鞋,大神们可以绕过,错误之处谢谢指正; 关于GitHub的强大此处不在说明,知道GitHub也有一段时间了,但是一直苦于不会使用。 本篇文章介绍的是如何将工程代码托管到上面;如果你还没注册GitHub账号请到https://github
当你想要分享你代码给其他人,或者是你需要在另外一台电脑上工作时,托管代码就会是一个非常重要的话题。基本上代码托管有两种不同的形式: do-it-yourself(建立一个自己的)或者 leave-me-in-peace(使用第三方提供的平台,不麻烦自己)。 (A) Do-It-Yourself 把你的 Git 仓库托管在你自己的服务器上会有很多的优点: 可以节省你花在代码托管服务上的费用。 你的代
项目管理 & 代码托管 Github [free to $] Codebase [$] Bitbucket [free to $] Unfuddle [$] Assembla [free to $]
问题内容: 我已经在Swift中编写了一个库,但无法将其导入到用Objective-C编写的当前项目中。 有什么方法可以导入吗? 问题答案: 您需要导入。请注意,这是目标名称-其他答案会导致使用类名称的错误。 这个单个文件是一个自动生成的标头,它为项目中所有用注释或继承的Swift类定义了Objective-C接口。 注意事项: 如果您的目标名称包含空格,请用下划线替换(例如,成为) 如果目标是框
第一章 GitLab简介 GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。 可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集