如何在阿里云 ASK 集群上部署 gitlab-runner ?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

如何在阿里云 ASK 集群上部署 gitlab-runner ?

1358896759097293 2021-03-23 20:16:13 56

如何在阿里云 ASK 集群上部署 gitlab-runner,并且通过 gitlab CICD Pipeline 部署 Java 应用到 ASK 集群中?

分享到
取消 提交回答
全部回答(1)
  • 1358896759097293
    2021-03-24 13:56:30

    通过 configMap 保存 gitlab runner 和 executor 的配置;  通过 secret 保存 ASK 集群的访问凭证和镜像仓库的密钥;  通过 PVC 缓存 runner cache 和 maven 仓库;  通过 imageCache 缓存容器镜像。 配置文件(yaml)下载https://github.com/aliyuneci/BestPractice-Serverless-Kubernetes/tree/master/eci-gitlab-runner 1. 准备 ASK 集群 在【容器服务控制台】创建标准 Serverless K8s 集群:集群创建完成后,基本信息中有 API server 公网链接地址: 2. 准备 PV/PVC 准备两个 nas 盘,一个做 gitlab runner cache,一个做 maven 仓库,请自行替 换 nas server 地址和 path: kubectl apply -f mvn-pv.yaml kubectl apply -f mvn-pvc.yaml kubectl apply -f nas-pv.yaml kubectl apply -f nas-pvc.yaml 3. 准备 Secret kubeconfig 里的证书公私钥拷贝到 secret 中,secret.yaml: kubectl apply -f secret.yaml docker-registry 的认证信息,ECI 支持免密拉取,但是 push docker image 还 是要用到: kubectl create secret docker-registry registry-auth-secret --docker-server=registry.cn-hangzhou.aliyuncs.com --docker-username=${xxx} --docker-password=${xxx} 查看生成的 secret 可以用以下命令: kubectl get secret registry-auth-secret --output=yaml 4. 准备 ConfigMap 把 gitlab runner 的 url、token,ASK 集群的 api server 地址拷贝到 config.ya ml:kubectl apply -f config-map.yaml 5. 准备 imageCache(可选,节省镜像拉取时间) 目前 AS K 默认安装了 imagecache-crd,可以用以下命令查询,如果没有可以自 己安装: # 查看 image cache crd 是否安转 kubectl get crd # 安装 image cache crd kubectl apply -f imagecache-crd.yaml # 制作 imagecache kubectl apply -f imagecache.yaml 6. 部署 gitlab runner kubectl apply -f gitlab-runner-deployment.yaml 7. 进行一个简单的 CI 任务 git repo 中的 .gitlab-ci.yml 类似 Jenkinsfile,定义了构建任务的工作流。我们修 改 demo 项目中的 src/main/webapp/index.jsp 文件,然后 git commit -m ""change index info"" 提交。 gitlab 中的流水线任务即被触发,整个流程涉及到编译、打包、部署。

    0 0
阿里巴巴云原生
使用钉钉扫一扫加入圈子
+ 订阅

关注云原生中间件、微服务、Serverless、容器、Service Mesh等技术领域、聚焦云原生技术趋势、云原生大规模的落地实践

推荐文章
相似问题