如何在gitlab中的作业之间移动jar文件?

如何在gitlab中的作业之间移动jar文件?,gitlab,artifacts,Gitlab,Artifacts,我正在尝试构建一个gitlab管道,以从java应用程序构建docker映像。我有两个工件,我想在构建阶段之间传递它们。。。一个文件(build_result.txt)被上传,但另一个(chat.jar)找不到。但是,两个文件都在同一个目录中。作为工件上载文件是否有大小或扩展限制 我得到的结果是chat.jar找不到,但它在同一个目录中。。。在构建阶段结束时,日志显示为警告,但下一个作业失败,表示找不到文件。。。它如何找到一个文件而不找到另一个 步骤1-记录 [INFO] ----------

我正在尝试构建一个gitlab管道,以从java应用程序构建docker映像。我有两个工件,我想在构建阶段之间传递它们。。。一个文件(build_result.txt)被上传,但另一个(chat.jar)找不到。但是,两个文件都在同一个目录中。作为工件上载文件是否有大小或扩展限制


我得到的结果是chat.jar找不到,但它在同一个目录中。。。在构建阶段结束时,日志显示为警告,但下一个作业失败,表示找不到文件。。。它如何找到一个文件而不找到另一个

步骤1-记录

[INFO] ------------------------------------------------------------------------
 [INFO] BUILD SUCCESS
 [INFO] ------------------------------------------------------------------------
 [INFO] Total time:  18.574 s
 [INFO] Finished at: 2020-09-24T18:15:56Z
 [INFO] ------------------------------------------------------------------------
 $ cp target/websocket-demo-0.0.1-SNAPSHOT.jar /app/chat.jar
 $ ls /
 app
 bin
 builds
 certs
 dev
 etc
 home
 lib
 media
 mnt
 opt
 proc
 root
 run
 sbin
 srv
 sys
 tmp
 usr
 var
 $ ls /app
 Dockerfile
 Readme.md
 build_result.txt
 chat.jar
 k8s-deployment.yaml
 mvnw
 mvnw.cmd
 pom.xml
 screenshot.png
 src
 target
 $ ls /app/target
 classes
 generated-sources
 generated-test-sources
 maven-archiver
 maven-status
 surefire-reports
 test-classes
 websocket-demo-0.0.1-SNAPSHOT.jar
 websocket-demo-0.0.1-SNAPSHOT.jar.original
Running after_script
00:00
 Running after script...
 $ echo "do stuff after every stage..."
 do stuff after every stage...
Uploading artifacts for successful job
00:00
 Uploading artifacts...
 build_result.txt: found 1 matching files and directories 
 WARNING: chat.jar: no matching files               
 Uploading artifacts as "archive" to coordinator... ok  id=797950 responseStatus=201 Created token=nVg8i-GF
 Job succeeded
步骤2-记录:

 $ cp chat.jar /docker/files/app/chat.jar
 cp: can't stat 'chat.jar': No such file or directory
Running after_script
00:00
 Running after script...
 $ echo "do stuff after every stage..."
 do stuff after every stage...
Uploading artifacts for failed job
00:00
 Uploading artifacts...
 WARNING: docker_build.txt: no matching files       
 ERROR: No files to upload                          
 ERROR: Job failed: command terminated with exit code 1  

您正在创建一个内容为
docker\u build.txt
文件
echo“building app…”tee-a build_result.txt
但随后您将目录更改为
/app
,然后创建另一个
docker\u build.txt
,最后构建您的工件

但是您看到的第一个
docker\u build.txt
不是使用
ls
命令,因为您的起始目录不是
/
,而是由
CI\u项目目录提供的动态路径

此外,所有工件定义也都与此路径相关,因此在移动
docker\u build.txt
命令后,这应该可以工作:

工件:
时间:总是
路径:
-app/build_result.txt
-app/chat.jar
 $ cp chat.jar /docker/files/app/chat.jar
 cp: can't stat 'chat.jar': No such file or directory
Running after_script
00:00
 Running after script...
 $ echo "do stuff after every stage..."
 do stuff after every stage...
Uploading artifacts for failed job
00:00
 Uploading artifacts...
 WARNING: docker_build.txt: no matching files       
 ERROR: No files to upload                          
 ERROR: Job failed: command terminated with exit code 1