首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >可以使用docker临时创建测试环境吗?

可以使用docker临时创建测试环境吗?
EN

Stack Overflow用户
提问于 2019-03-13 16:51:59
回答 2查看 138关注 0票数 0

我有一个node.js服务,它存储在应用程序启动时发送给open policy agent服务的访问策略。可以测试策略,但要执行此操作,需要在不属于我服务一部分的开放策略代理环境中运行这些策略。在构建我的node.js服务docker镜像时,有没有办法运行这些测试?因此,除非所有测试都通过,否则将不会构建映像?

因此,dockerfile可能如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
FROM openpolicyagent/opa:latest
CMD ["test"]
# somehow check that all tests pass and if not return an error
FROM node:8
# node-related stuff
EN

回答 2

Stack Overflow用户

发布于 2020-01-28 22:23:54

您可以创建一个构建管道,在其中分别构建Node应用程序和Envoy+OPA代理,然后拥有另一个包含访问规则、测试和使用Cypress的独立项目,而不是将所有内容都放到一个项目中。您的构建管道可以无条件地将新版本安装到DEV环境中,但需要通过单独的测试项目,直到它部署到STAGE和PROD环境中为止。

票数 0
EN

Stack Overflow用户

发布于 2019-03-13 17:28:56

您可以使用RUN语句执行所需的步骤,例如:

代码语言:javascript
代码运行次数:0
运行
复制
FROM <some_base_image>

RUN mkdir /tests
WORKDIR /tests
COPY ./tests .    
RUN npm install && npm run build && npm test

RUN mkdir /src
WORKDIR /src
COPY ./src .    
RUN npm install && npm run build

CMD npm start

注意:RUN是在构建镜像时执行的,而CMDENTRYPOINT是在从构建的镜像启动容器时执行的。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55137708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档