Docker 如何设置TeamCity与Cypress一起工作,而无需为每次测试执行安装node、xvfb和Cypress
我想按计划的计时器在CI(Teamcity)中运行cypress.io测试。测试将非常频繁地运行,这就是为什么我有兴趣尽可能快地执行它们 这是我当前的实现。 我使用以下docker-compose.yml与3个teamcity代理一起运行teamcity serverDocker 如何设置TeamCity与Cypress一起工作,而无需为每次测试执行安装node、xvfb和Cypress,docker,docker-compose,teamcity,cypress,Docker,Docker Compose,Teamcity,Cypress,我想按计划的计时器在CI(Teamcity)中运行cypress.io测试。测试将非常频繁地运行,这就是为什么我有兴趣尽可能快地执行它们 这是我当前的实现。 我使用以下docker-compose.yml与3个teamcity代理一起运行teamcity server version: "3" services: server: image: jetbrains/teamcity-server:2020.1.2 p
version: "3"
services:
server:
image: jetbrains/teamcity-server:2020.1.2
ports:
- "8112:8111"
volumes:
- ./data_dir:/data/teamcity_server/datadir
- ./log_dir:/opt/teamcity/logs
teamcity-agent-1:
image: jetbrains/teamcity-agent:2020.1.2-linux-sudo
environment:
- SERVER_URL=http://server:8111
- AGENT_NAME=docker-agent-1
- DOCKER_IN_DOCKER=start
privileged: true
container_name: docker_agent_1
teamcity-agent-2:
image: jetbrains/teamcity-agent:2020.1.2-linux-sudo
environment:
- SERVER_URL=http://server:8111
- AGENT_NAME=docker-agent-2
- DOCKER_IN_DOCKER=start
privileged: true
container_name: docker_agent_2
teamcity-agent-3:
image: jetbrains/teamcity-agent:2020.1.2-linux-sudo
environment:
- SERVER_URL=http://server:8111
- AGENT_NAME=docker-agent-3
- DOCKER_IN_DOCKER=start
privileged: true
container_name: docker_agent_3
在构建步骤中,我在设置中使用节点:10.18.1,如下屏幕所示:
我的建筑步骤如下:
一,
{
"@types/mocha": "^8.0.0",
"cypress": "4.11.0",
"cross-env": "^7.0.2",
"mocha": "^7.2.0",
"mochawesome": "^6.1.1",
"mochawesome-merge": "^4.1.0",
"mochawesome-report-generator": "^5.1.0",
"typescript": "^3.9.6"
}
- apt get install xvfb libgtk-3-dev libnotify dev libgconf-2-4 libnss3 libxss1 libasound2(我需要为linux额外安装) 我相信主要的重依赖是cypress和xvfb包
version: "3"
services:
server:
image: jetbrains/teamcity-server:2020.1.2
ports:
- "8112:8111"
volumes:
- ./data_dir:/data/teamcity_server/datadir
- ./log_dir:/opt/teamcity/logs
teamcity-agent-2:
image: cypress/included:3.4.0
environment:
- SERVER_URL=http://server:8111
- AGENT_NAME=docker-agent-2
- DOCKER_IN_DOCKER=start
privileged: true
container_name: docker_agent_2
欢迎提出任何建议回答我自己的问题。对于那些遇到同样问题的人来说,这是一种设置Teamcity和Cypress的优化方法: 主题中我的docker-compose.yml是正确的。运行它购买
docker-compose up -d
在Teamcity中设置2种不同的配置
npm install yarn --no-save
yarn install --no-lockfile
和容器设置符合屏幕要求
在创建工件之后
node_modules=>node_modules.zip
在第二个配置设置依赖项中,根据屏幕从第一个配置获取节点_模块
docker-compose up -d
npm install yarn --no-save
yarn install --no-lockfile