如何在github repo中使用从jfrog人工制品到Dockerfile的war文件

问题描述

我需要帮助来构建ci管道,以仅构建docker-image并将其推送到docker hub(所有都是私有仓库。 我的要求是,在git repo上,我有Dockerfile如下:

FROM tomcat:alpine
copY snoop.war /opt/tomcat/tomcat1/webapps/
EXPOSE 8443
CMD /usr/local/tomcat/bin/cataline.bat run

在上面的Dockerfile中,我想直接从“ jfrog”工件位置获取war文件,因为由于安全策略,我无法在git repo中上传war文件。 预期的Dockerfile应该是:

FROM tomcat:alpine
copY https://internal-jfrog-artifacts/war_file/mw_snapshots/snoop.war 
/opt/tomcat/tomcat1/webapps/
EXPOSE 8443
CMD /usr/local/tomcat/bin/cataline.bat run

如果可以进行一些更改,请协助?

解决方法

您需要先下载文件。尝试使用以下Dockerfile进行构建。

FROM tomcat:alpine
RUN apk add curl --no-cache \
    && mkdir -p /opt/tomcat/tomcat1/webapps \
    && curl -fsSL -o /opt/tomcat/tomcat1/webapps/snoop.war https://internal-jfrog-artifacts/war_file/mw_snapshots/snoop.war
EXPOSE 8443
CMD /usr/local/tomcat/bin/cataline.bat run