Пытаюсь перевести gitlab сi на хранение образов в Nexus
Gitlab-ci.yaml укороченный. Оставил самое важное
variables:
ARTIFACT_NAME: ${CI_PROJECT_NAME}-${CI_JOB_NAME}
build_img: maven
pgsql_img: postgres:9.6
MAVEN_OPTS: "-Djava.awt.headless=true -Dmaven.repo.local=./.m2/repository"
MAVEN_CLI_OPTS: "-s .m2/settings.xml --batch-mode --errors --fail-at-end --show-version"
REF_NAME: 9-devs
JOB_NAME: dev
PG_SERVER: "db-$CI_COMMIT_REF_SLUG-postgresql"
PG_PORT: "5432"
PG_DB: "XXXXX"
PG_USER: "XXXXX"
PG_PASS: "XXXX"
stages:
- build
- test
build:
stage: build
image: "$build_img"
artifacts:
paths:
- assembly/target
expire_in: 1 day
script:
- '/var/lib/apache-maven/bin/mvn clean package -Dmaven.test.skip=true -P main -s .m2/settings.xml'
it_unit_test:
stage: test
image: "$build_img"
dependencies:
- build
services:
- name: "$pgsql_img"
alias: db
script:
- id
- docker ps || echo $?
- ping -c 1 db || echo $?
- /var/lib/apache-maven/bin/mvn test -P intTests -s .m2/settings.xml
Там где ошибка пишет:
$ id
uid=502(gitlab-runner) gid=501(gitlab-runner) groups=501(gitlab-runner),502(docker)
$ docker ps || echo $?
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
$ ping -c 1 db || echo $?
ping: db: Name or service not known
2
там где нет ошибки пишет
$ docker ps || echo $?
/bin/bash: line 87: docker: command not found
127
$ ping -c 1 db || echo $?
PING db (XXXXXXX): 56 data bytes
64 bytes from XXXXXXX: icmp_seq=0 ttl=64 time=0.142 ms
Вопрос:
Запускает ли service в gitlab ci сам сервис или только делает ссылку на него?
Как это можно отладить? исправить ошибку?