开发者社区 > 云原生 > 正文

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

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

展开
收起
1358896759097293 2021-03-23 20:16:13 1225 0
2 条回答
写回答
取消 提交回答
  • 2024-06-03 17:56:34
    赞同 展开评论 打赏
  • 45271990@qq.com

    通过 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 中的流水线任务即被触发,整个流程涉及到编译、打包、部署。

    2021-03-24 13:56:30
    赞同 展开评论 打赏
问答标签:
问答地址:

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

热门讨论

热门文章

相关电子书

更多
基于Docker on Yarn系统的微服务实践 立即下载
Docker on Yarn 微服务实践 立即下载
Alibaba Cloud CodePipeline 基于Jenkins的CI / CD探索之路 立即下载