云效这个问题怎么解决?Docker构建的过程中,Dockerfile定义了把前一环节Java编译的Jar包,打包进docker镜像中。执行到这一流程时,搜寻的文件夹是个tmp文件夹而不是workspace,如何在不更改dockerfile的前提下,让默认的路径指向workspace。
Dockerfile在/root/workspace/f2f-e3plus-basebiz-api-goods_Ytzn
target在 /root/workspace/f2f-e3plus-basebiz-api-goods_Ytzn/e3plus-basebiz-api-goods-service/target
如果您的Dockerfile在执行到打包Java编译后的jar包时遇到了问题,您可以尝试以下解决方案:
这个问题是因为Docker在执行ENTRYPOINT命令时,会创建一个新的临时工作目录,这个目录就是"/root/.mvn/temp/staging"。所以,你需要将你的文件复制到这个临时工作目录中。
你可以在Dockerfile中添加以下命令来实现这一点:
RUN mkdir -p /root/.mvn/temp/staging && cp /root/workspace/f2f-e3plus-basebiz-api-goods_Ytzn/e3plus-basebiz-api-goods-service/target/*.jar /root/.mvn/temp/staging/
这段命令首先创建了一个新的目录"/root/.mvn/temp/staging",然后将你的Jar文件复制到这个目录中。这样,当Docker执行ENTRYPOINT命令时,它就可以在这个目录中找到你的Jar文件了。
那您的路径对着呢,您把java构建和镜像构建放到一个任务里就行,您现在在2个任务里放着呢。
此回答整理自钉群“云效交付域答疑群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。