在kubernetes环境上部署gitlab-runner,编辑如下gitlab-runner.yaml文件,

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: gitlab-runner
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      name: gitlab-runner
  template:
    metadata:
      labels:
        name: gitlab-runner
    spec:
      containers:
      - args:
        - run
        image: gitlab/gitlab-runner:latest
        imagePullPolicy: IfNotPresent
        name: gitlab-runner
        volumeMounts:
        - mountPath: /etc/gitlab-runner
          name: config
          readOnly: false
        - mountPath: /etc/ssl/certs
          name: cacerts
          readOnly: true
      restartPolicy: Always
      volumes:
      - hostPath:
          path: /etc/gitlab-runner
        name: config
      - hostPath:
          path: /etc/hosts/key
        name: cacerts

执行

kubectl create -f gitlab-runner.yaml

之后找到正在运行的gitlab-runnerpod,执行:

~# kubectl get pod 
NAME                            READY   STATUS    RESTARTS   AGE
gitlab-runner-7b6d6458b-4hx5g   1/1     Running   0          2d19h

于是,执行kubectl exec进入pod,执行 gitlab-runner register,根据提示完成操作即可。这里要注意,如果访问的gitlab使用了https协议,需要降相应的crt、key文件保存到宿主机的/etc/hosts/key目录下

~# kubectl exec -it gitlab-runner-7b6d6458b-4hx5g /bin/bash
root@gitlab-runner-7b6d6458b-4hx5g:/# gitlab-runner register
Running in system-mode.

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://192.168.100.101/
Please enter the gitlab-ci token for this runner:
g-1YUWB4_JoLgshuPJ6y
Please enter the gitlab-ci description for this runner:
[gitlab-runner-7b6d6458b-4hx5g] : kubernetes-runner
Please enter the gitlab-ci tags for this runner (comma separated):
kubernetes
Registering runner... succeeded                     runner=g-1YUWB4
Please enter the executor: kubernetes, docker, ssh, docker-ssh+machine, virtualbox, docker+machine, docker-ssh, parallels, shell:
kubernetes
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

root@gitlab-runner-7b6d6458b-4hx5g:/# gitlab-runner list
Listing configured runners                          ConfigFile=/etc/gitlab-runner/config.toml
kubernetes-runner                                   Executor=kubernetes Token=bb64a2fa634084d169b2c9dd992d45 URL=http://192.168.100.101/

其中URL和token通过如下方式获得:

进入gitlab,选择一个project,再在左侧边条中,选择"Settings"->"CI/CD"->"Runners"->"Expand",

 接下来,拷贝对应的url和token,

 如果使用k8s环境,就在Please enter the executor中选择Please enter the executor

 

 

可以参考:https://www.jianshu.com/p/c398509f8861

https://blog.csdn.net/aixiaoyang168/article/details/81149264

 

此外,也可以使用helm来进行部署,相对来说更简洁

https://blog.csdn.net/cyfblog/article/details/100541760

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐