我有这个gitlab-ci.yml
stages:
- test
test_ahpi:
stage: test
image: "ahgora/alpine-test-node"
script:
- cd ${CI_PROJECT_DIR}/api; npm install --unsafe-perm
- cd ${CI_PROJECT_DIR}/api; node_modules/.bin/gulp build-test
test_php:
stage: test
image: "ahgora/alpine-test-php"
script:
- cd ${CI_PROJECT_DIR}/; make test
但我之前想在本地服务器上做一些步骤,所以我不需要手动运行一些步骤。
有没有办法在我的本地服务器上执行命令,然后才能执行gitlab-ci.yml上的各个阶段?
我以为我可以做类似下面的事情,但我得到错误,因为没有任何已定义的图像到这一步。(但我想在shell中运行它而不是在这个特定阶段的docker中)。
stages:
- prepare
- test
docker:
stage: prepare
script:
- docker run -d --name lookupd nsqio/nsq /nsqlookupd
- docker run --name mongo -d mongo
- docker run -d --link lookupd:lookupd --name nsqd nsqio/nsq /nsqd --broadcast-address=lookupd --lookupd-tcp-address=lookupd:4160
- docker run --name redis -d redis
test_ahpi:
stage: test
image: "ahgora/alpine-test-node"
script:
- cd ${CI_PROJECT_DIR}/api; npm install --unsafe-perm
- cd ${CI_PROJECT_DIR}/api; node_modules/.bin/gulp build-test
test_php:
stage: test
image: "ahgora/alpine-test-php"
script:
- cd ${CI_PROJECT_DIR}/; make test
感谢您的时间。
答案 0 :(得分:0)
如果您不想使用docker作为gitlab-runner,那么您可以在特定阶段指定tag
并指定shell作为执行者。