如何在阿里云 ASK 集群上部署 gitlab-runner,并且通过 gitlab CICD Pipeline 部署 Java 应用到 ASK 集群中?
https://developer.aliyun.com/article/773024
这个链接里有比较完整的描述
https://edu.aliyun.com/course/314539/lesson/341485688?spm=a2cwt.28120015.314539.11.3e8115ccs3iPZI
这是相应的视频
通过 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 中的流水线任务即被触发,整个流程涉及到编译、打包、部署。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。