如何通过URL访问在gitlab-ci共享运行器上的管道中运行的dockerized应用程序

时间:2019-08-07 07:26:25

标签: docker gitlab-ci gitlab-ci-runner

我将gitlab-ci与共享运行程序一起使用,以便在我的项目中设置CI。这是一个nodeJS API,带有用于对其进行测试的shell脚本和用于安装它的Dockerfile。

我已经尝试通过docker文件访问服务名称为“ .gitlab-ci.yml”的正在运行的docker,但是它不起作用。

我想在gitlab-ci的CI中设置2个作业: 1.构建映像并将其推送到gitlab注册表。 2.使用Web API的网址启动test.sh脚本

我目前暂时在.gitlab-ci.yml中设置了此设置:

default:
  image: docker:stable

variables:
  DOCKER_HOST: tcp://docker:2375

services:
  - docker:dind

before_script:
  - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY

stages:
  - build
  - test

job:build:
  stage: build
  script: docker build -t registry.gitlab.com/geocube_at_school/content-server . && docker push registry.gitlab.com/geocube_at_school/content-server

job:test:
  stage: test
  script: docker run -p 8081:8081 -d registry.gitlab.com/geocube_at_school/content-server && ./test.sh http://docker:8081

这里也是我的Dockerfile,以防万一:

FROM node:latest
RUN apt-get update -y && apt-get upgrade -y
RUN apt-get install apt-utils openssl -y
COPY . /myapp/
EXPOSE 8081
WORKDIR /myapp
RUN npm install
CMD npm start

该脚本仅使用curl来测试已经运行的应用程序上的API端点(这就是为什么我想通过脚本参数提供应用程序地址)。

0 个答案:

没有答案
相关问题