如何从dockerfile内的Jfrog artifactory获取war文件?获取HTTP 401错误

如何从dockerfile内的Jfrog artifactory获取war文件?获取HTTP 401错误,docker,jenkins,jenkins-pipeline,artifactory,jfrog-cli,Docker,Jenkins,Jenkins Pipeline,Artifactory,Jfrog Cli,我已经创建了一个声明性jenkins管道,它的一个阶段如下所示: stage('Docker Image'){ steps{ bat 'docker build -t HMT/demo-application:%BUILD_NUMBER% --no-cache -f Dockerfile .' } } 这是docker文件: FROM tomcat:alpine RUN wget -O /usr/local/tomcat/w

我已经创建了一个声明性jenkins管道,它的一个阶段如下所示:

stage('Docker Image'){
        steps{
            bat 'docker build -t HMT/demo-application:%BUILD_NUMBER% --no-cache -f Dockerfile .'
        }
      }
这是docker文件:

FROM tomcat:alpine

RUN wget -O /usr/local/tomcat/webapps/launchstation04.war  http://localhost:8082/artifactory/demoArtifactory/com/demo/0.0.1-SNAPSHOT/demo-0.0.1-SNAPSHOT.war

EXPOSE 9100

CMD /usr/local/tomcat/bin/cataline.bat run
我得到以下错误信息:

[91m/bin/sh:
01:33:28  [0mThe command '/bin/sh -c wget -O /usr/local/tomcat/webapps/launchstation04.war  http://localhost:8082/artifactory/demoArtifactory/com/demo/0.0.1-SNAPSHOT/demo-0.0.1-SNAPSHOT.war' returned a non-zero code: 127
更新:

我已将命令更新为

RUN wget -O /usr/local/tomcat/webapps/launchstation04.war -U jenkinsuser:Learning@% http://localhost:8082/artifactory/demoArtifactory/com/demo/0.0.1-SNAPSHOT/demo-0.0.1-20200823.053346-18.war
我的命令中没有问题。Jfrog artifactory无法授权此操作。因此,我添加了用户名和密码详细信息,但仍然不起作用

错误:

wget:服务器返回错误:HTTP/1.1 401未经授权

将密码策略修改为“不受支持”后,它不起作用。但当我允许匿名访问时,它起作用。
如何使用凭据提供访问。

需要进一步澄清您的问题。不确定在哪里使用curl命令。 图tomcat:alpine不包含curl命令。除非你手动安装

bash-4.4# type curl
bash: type: curl: not found
bash-4.4# 

如果您的询问是关于sh-c选项的,如果脚本是通过CMD选项调用的,那么它将使用sh。相反,您可以尝试使用ENTRYPOINT。

您可以通过命令行提供用户名和密码:

wget --user user --password pass
使用
curl

curl -u username:password -O
但使用特殊字符无效:


请一次性将密码更改为另一密码:
[a-z][a-z][0-9]

尝试使用API密钥而不是密码,我感觉“@”可能会让您感到厌烦。引号在这里也有帮助,或者用
-p

另外,请查看请求日志,了解该条目是作为用户的401条目,还是匿名/未经验证的条目


最后,看看是否可以从图像外部卷曲,然后添加文件,因为这将删除可能与主机不同的任何外部因素(我假设该命令在主机上工作)

wget:unrecogned选项:密码从密码中删除特殊字符无效-->运行wget-O/usr/local/tomcat/webapps/launchstation04.war-U管理员:学习使用
curl-U用户:密码
请,
-U
-U