在我想将其推入主测试栏后,我想自动对其进行测试。
测试代码的阶段如下:
SELECT *
FROM table_name tb1
WHERE tb1.Modified_Date = (SELECT MAX(tb2.Modified_Date)
FROM table_name tb2
WHERE tb2.primary_key = tb1.primary_key)
这是管道的输出:
test_code:
stage: test_code
script:
- docker pull $CONTAINER_IMAGE:test || true
- docker build -f Dockerfile.test --cache-from $CONTAINER_IMAGE:test --tag $CONTAINER_IMAGE:test .
- docker run --rm $CONTAINER_IMAGE:test rails db:migrate RAILS_ENV=test && rails test RAILS_ENV=test
- docker push $CONTAINER_IMAGE:test
我不明白为什么无法识别“ &&”之后的命令。
答案 0 :(得分:1)
要在docker中运行多个命令,请使用/bin/bash -c
和分号;
,或者您也可以在Docker容器中使用can pipe命令
您可以尝试以下操作:
docker run --rm $CONTAINER_IMAGE:test /bin/bash -c "RAILS_ENV=test && rails test RAILS_ENV=test"