【发布时间】:2021-08-27 14:17:52
【问题描述】:
我为在 redhat8 上运行的 GitLab(免费版)创建了一个客户 Podman 运行器。我有带有 2 个模块(客户端和服务器)的节点程序,我正在尝试让客户端部分运行,这意味着创建映像并在 pod 中运行容器(lm-dev) 在 GitLab CI/CD 中创建图像和容器以成功结束。
GitLab 日志显示映像的构建已完成,并且 podman run 和其他命令都运行成功,但在完成该过程后,没有容器,也没有应该创建的 pod! 我不明白为什么容器不知何故消失了,或者根本没有创建 mybe,尽管 GitLab 显示该过程是成功的。 我的期望是在 lm-dev pod 中看到 lm-client-dev 容器。
在完成管道之前,唯一创建的容器是以下内容,这些容器在完成作业时会被删除:
root@mail ~]# podman ps -a
CONTAINER ID IMAGE
COMMAND CREATED STATUS PORTS NAMES
20becf621320 registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-
8925d9a0 gitlab-runner-bui... 2 minutes ago Exited (0) 2 minutes ago runner-
xvb7r9ea-project-23-concurrent-0-7c8467ce3ac6d0a3-predefined-0
9d179591b645 registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-
8925d9a0 gitlab-runner-bui... 2 minutes ago Exited (0) 2 minutes ago runner-
xvb7r9ea-project-23-concurrent-0-7c8467ce3ac6d0a3-predefined-1
bb265fceb3e8 registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-
8925d9a0 gitlab-runner-bui... 2 minutes ago Exited (0) 2 minutes ago runner-
xvb7r9ea-project-23-concurrent-0-7c8467ce3ac6d0a3-predefined-2
9681b6701bf2 quay.io/podman/stable:latest
sh -c if [ -x /us... 2 minutes ago Exited (0) 10 seconds ago runner-xvb7r9ea-
project-23-concurrent-0-7c8467ce3ac6d0a3-build-3
9c9f447ae78c registry.gitlab.com/gitlab-org/gitlab-runner/gitlab-runner-helper:x86_64-
8925d9a0
gitlab-runner-bui... 10 seconds ago Up 9 seconds ago
我的跑步者在服务器上创建如下:
gitlab-runner register --non-interactive
--name "sdx-runner" --url "https://gitlab.mycompany.com/"
--registration-token "jghfcZXXqZB-xJ-hfgL" --executor
docker --docker-privileged=true --env "DOCKER_HOST=unix:///var/run/podman/podman.sock"
--docker-image alpine:latest --docker-volumes
"/run/podman/podman.sock:/var/run/podman/podman.sock" --tag-list "sdx-runner-pod"
我的 yml(这里省略了构建和测试):
stages:
- deploy
variables:
GIT_SUBMODULE_STRATEGY: recursive
cache:
paths:
- client/node_modules/
- server/node_modules/
deploy:
image: "podman"
stage: deploy
script:
- cd client
- podman build -t lm-client-dev .
#- podman pod create --name lm-dev --publish 8443:80
#- podman pod start lm-dev
#- podman run -p 4250:80 -d lm-client-dev --pod=lm-dev
- podman run -dt --pod new:lm-dev -p 4250:3000 lm-client-dev top
tags:
- sdx-runner-pod
我的 gitlab-runner:
[root@mail ~]# gitlab-runner -v
Version: 14.1.0
Git revision: 8925d9a0
Git branch: 14-1-stable
GO version: go1.13.8
Built: 2021-07-20T11:43:26+0000
OS/Arch: linux/amd64
我尝试构建和运行的客户端 Dockerfile,以便我可以从本地计算机连接到它:
FROM docker.io/library/node:16.6.1
WORKDIR /app
COPY package*.json ./
RUN npm install -g npm@7.20.6
COPY . ./
RUN npm run build
EXPOSE 3000
CMD ["npm", "run", "start"]
【问题讨论】:
-
难道免费版只支持CI??
标签: gitlab gitlab-ci gitlab-ci-runner podman