基于git+drone+harbor+k8s+rancher的持续集成
在公司培训学习了基于git+drone+harbor+k8s+rancher的持续集成环境的搭建和使用,在这里总结回顾一下 工具介绍: git:代码仓库 drone:持续集成工具,类似Jenkins harbor:镜像仓库 k8s:集群部署环境 rancher:k8s管理界面 pipeline持续集成步骤: 本地代码提交到git–》触发git中的钩子(目的是触发drone)–》...
·
在公司培训学习了基于git+drone+harbor+k8s+rancher的持续集成环境的搭建和使用,在这里总结回顾一下
工具介绍:
git:代码仓库
drone:持续集成工具,类似Jenkins
harbor:镜像仓库
k8s:集群部署环境
rancher:k8s管理界面
pipeline持续集成步骤:
本地代码提交到git–》触发git中的钩子(目的是触发drone)–》drone执行项 目中.drone.yml文件,yml文件中配置持续集成步骤eg:去git拉代码->打包成镜像->将镜像推送到harbor仓库中->在k8s中拉起新生成的镜像,这样一个基本的持续集成链就完成了,贴一个配置样例。
clone:
git:
image: plugins/git
tags: true
pipeline:
build:
image: mvn的镜像库地址eg:127.0.0.1:8080/teamci/maven:1.0.1
pull: true
commands:
- mvn clean package
docker_latest:
image: plugins/docker:17.12
registry: harbor的地址eg:127.0.0.1:8081
secrets: [ docker_username, docker_password ]
repo: 生成的镜像要推送的地址eg:127.0.0.1:8082/test/test
tags:
- latest
dockerfile: Dockerfile
when:
branch: master
event: [ push ]
insecure: true
deploy:
image: k8s依赖包eg:127.0.0.1:8083/teamci/drone-k8s-deploy:0.0.13
when:
event: [ push ]
secrets:
- source: K8S_TOKEN
target: K8S_TOKEN
environment:
- K8S_SERVER=k8s服务器地址eg:https://127.0.0.1:8080
- K8S_NAMESPACE=**
- K8S_USER=**
- K8S_CLUSTER_NAME=**
- REPO=要拉起的镜像地址eg:127.0.0.1:8082/test/test
- TAG=${DRONE_TAG}
- CONTAINER=test
- DEPLOYMENTS=test
- DEBUG=true
其中我们可能还涉及一些其他的东西:
1、nfs技术
用于一些持久化数据的挂载,docker技术因为数据不做处理的话是放在容器中的,如果这个容器死掉了,那么你的所有数据就消失了,因此需要将数据保存到服务器上,因此用了nfs技术,将容器中的数据挂载到服务器上。
2、ldap技术
因为这个链中涉及很多工具,因此用了ldap技术,但是我们好像不是所有的都做了统一登录.
更多推荐
已为社区贡献5条内容
所有评论(0)