首页 > 解决方案 > 如何对 registry.gitlab.com 中的镜像进行单元测试和部署到自托管 microk8s

问题描述

嗨,我设法用一个节点创建了 MicroK8s Kubernetes 集群。我已将 Gitlab 与我的集群连接起来,一切正常。在我的仓库中,我有一个看起来像这样的 docker 文件:

FROM node:14.15.4-alpine3.10

WORKDIR /app
COPY package.json .
RUN npm install
COPY . .

CMD ["npm", "start"]

这是简单的快递服务器。我有我的 gitlab-ci.yml 文件:

stages:
  - build
  - test

build app:
  stage: build
  image:
    name: gcr.io/kaniko-project/executor:debug
    entrypoint: [""]
  before_script:
    - mkdir -p /root/.docker
    - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"gitlab-ci-token\",\"password\":\"$CI_JOB_TOKEN\"}}}" > /kaniko/.docker/config.json
  script:
    - /kaniko/executor
      --context=$CI_PROJECT_DIR/test
      --dockerfile=$CI_PROJECT_DIR/test/Dockerfile
      --destination=$CI_REGISTRY_IMAGE/test:$CI_BUILD_REF
  only:
    refs:
      - merge_requests
    changes:
      - test/**/*

当我创建合并请求并在 test/ 中进行更改时,gitlab 运行程序正在构建图像并将其推送到 registry.gitlab.com。所以问题是我如何对该代码进行单元测试以及如何在我的集群上部署它?任何帮助,将不胜感激。

标签: unit-testingkubernetesdeploymentcontinuous-integrationgitlab

解决方案


推荐阅读