注意:这里 executor 执行类型,我特意选择了 kubernetes,主要是看下选择了 Kubernetes 作为执行类型的话,生成的 runner 配置有那些不同。通过 config.toml 文件,我们可以看到 [runners.kubernetes] 下边有很多配置,这些配置我就不在挨个介绍了,详细配置可参考文档 [runners.kubernetes] section of advanced configuration ...
gitlab-runner无法正确解析域名。 部分博客说是gitlab-runner alpine镜像和kubernetes不匹配的问题。需要降级成alpinev12.0。但最新的gitlab-runner-chart已经升级到0.51版本,不再适配。降级gitlab-runner镜像会报错,将chart版本降级也不太合适。 但尝试了一下,目前最新的gitab-runner15.1版本已经不再有这个问题。作者仍...
runners.kubernetes 是默认的executor,这里使用docker:19.03作为基础镜像 runners.kubernetes.services 是定义executor中的service 这里使用docker:19.03.12-dind作为基础镜像,服务别名定义为docker,使用DocerInDocker方式构建镜像 .gitlab-ci.yml 需要引用 Gitlab-runner 部署完毕后,会在Gitlab runner管理页面看到: image 创...
# 创建一个imagepullsecret $ kubectl create secret generic inner-gitlab --from-file=.dockerconfigjson=/root/runner/config.json --type=kubernetes.io/dockerconfigjson -n gitlab-runner # cat config.toml ... [[runners]] [runners.kubernetes] image_pull_secrets = ["inner-gitlab"] ... docker...
如果Pod正常运行,在GitLab中启动新Pipeline,正常情况下,gitLab-runner Pod会通过kubernetes executor启动一个名为runner-xxx的新Pod用来执行Build任务 配置缓存 由于for k8s的runner cache缺少支持,所以使用挂载volume的方式做缓存 这种方式有很高的局限性,由于无法像runner cache那样将缓存分类,所以只能为每个需要不同缓存...
本文以构建一个Java软件项目并将其部署到阿里云容器服务Kubernetes集群中为例,说明如何使用GitLab CI在阿里云Kubernetes服务上运行GitLab Runner、配置Kubernetes类型的Executor,并执行Pipeline。 创建GitLab源码项目并上传示例代码 创建GitLab源码项目。 本示例中创建的GitLab源码项目地址为: ...
使用GitLab CI运行GitLab Runner并执行Pipeline 本文主要演示如何在Kubernetes集群中安装、注册GitLab Runner,添加Kubernetes类型的Executor来执行构建,并以此为基础完成一个Java源码示例项目从编译构建、镜像打包到应用部署的CI/CD过程。 背景信息 本文以构建一个Java软件项目并将其部署到阿里云容器服务Kubernetes集群中为例,...
1. 请确保当前可以通过kubectl命令在kubernetes进行常规操作; 2. 创建名为gitlab-runner的namespace: ```shell kubectl create namespace gitlab-runner 创建一个secret,把minio的access key和secret key存进去,在后面配置cache的时候会用到: ```shell kubectl create secret generic s3access \ --from-literal=acc...
kubernetes(k8s)Gitlab CI Runner 的安装 简介 从 Gitlab 8.0 开始,Gitlab CI 就已经集成在 Gitlab 中,只要在项目中添加一个.gitlab-ci.yml文件,然后添加一个Runner,即可进行持续集成。在介绍 Gitlab CI 之前,先看看
RUNNER_EXECUTOR: "kubernetes" KUBERNETES_NAMESPACE: "kube-ops" KUBERNETES_PRIVILEGED: "true" KUBERNETES_CPU_LIMIT: "1" KUBERNETES_CPU_REQUEST: "500m" KUBERNETES_MEMORY_LIMIT: "1Gi" KUBERNETES_SERVICE_CPU_LIMIT: "1" KUBERNETES_SERVICE_MEMORY_LIMIT: "1Gi" ...