先上pipeline

kind: pipeline
type: kubernetes
name: defaultsteps:
- name: build packageimage: golang:1.17.8-alpine3.15commands:- export GO111MODULE=on- export GOPROXY=https://goproxy.cn- go get -d -v github.com/gin-gonic/gin- go get -d -v github.com/shirou/gopsutil/host- go mod init app- go mod tidy- CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o app .
- name: docker build pushimage: plugins/dockersettings:dockerfile: Dockerfilerepo: registry-intl.cn-shenzhen.aliyuncs.com/sztest/szzregistry: registry-intl.cn-shenzhen.aliyuncs.comtags: [ "${DRONE_COMMIT_SHA:0:7}"]username:from_secret: docker_usernamepassword: from_secret: docker_password- name: deployimage: bh90210/dron8s:latest#image: registry.cn-shenzhen.aliyuncs.com/jbjb/csi:bh90210settings:yaml: ./test.yamlimage_tag: [ "${DRONE_COMMIT_SHA:0:7}"]kubeconfig:from_secret: kubeconfigwhen:event: pushbranch: master
---
kind: secret
name: kubeconfig
get:path: dron8sname: kubeconfig

k8s的yaml模板

      containers:- name: nginximage: registry-intl.cn-shenzhen.aliyuncs.com/sztest/szz:{{.image_tag}}resources:requests:cpu: 100mmemory: 100Miports:- containerPort: 8000

变量, 必须是小写,用法:{{.image_tag}}

docker 部分

- name: docker build pushimage: plugins/dockersettings:dockerfile: Dockerfilerepo: registry-intl.cn-shenzhen.aliyuncs.com/sztest/szzregistry: registry-intl.cn-shenzhen.aliyuncs.comtags: [ "${DRONE_COMMIT_SHA:0:7}"]username:from_secret: docker_usernamepassword: from_secret: docker_password指定你的dockerfile也可以加路径如下:
dockerfile: /path/Dockerfile tags获取随机使用DRONE_COMMIT_SHA内置变量只要7位数做镜像名
tags: [ "${DRONE_COMMIT_SHA:0:7}"]

可以通过GUI来完成变量或者通过k8s的secrets来管理

username:from_secret: docker_usernamepassword: from_secret: docker_password


deploy部分

- name: deployimage: bh90210/dron8s:latest#image: registry.cn-shenzhen.aliyuncs.com/jbjb/csi:bh90210settings:yaml: ./test.yamlimage_tag: [ "${DRONE_COMMIT_SHA:0:7}"]kubeconfig:from_secret: kubeconfigwhen:event: pushbranch: master

kubeconfig也可以通过GUI管理

也可以通过k8s管理,使用需要手动创建资源以允许 Drone 的群集编辑访问权限。clusterrolebinding
如果您选择手动安装,则必须将 --serviceaccount 和/或 --namespace 标志替换为您使用的正确服务/命名空间名称(–serviceaccount=drone-ci:default --namespace=default)。

 kubectl create clusterrolebinding dron8s --clusterrole=edit --serviceaccount=drone:default --namespace=drone
kubectl create secret generic dron8s --from-file=kubeconfig=$HOME/.kube/config

镜像作者连接



个人比较喜欢drone集成因为功能很强大,社区工具链丰富比较实用可以参考以下连接,强力推荐drone CI/CD一条龙服务

https://plugins.drone.io/

Gitea+Drone(K8S CI/CD)2相关推荐

  1. jenkins X 和k8s CI/CD

    架构 二.核心组件 1.包管理工具     1.1.helm工具包    https://github.com/helm/helm      1.2.Chartmuseum开源helm chart仓库 ...

  2. jenkins Redeploy Rancher2.x Workload插件实现CI/CD

    一.概述 在上一篇文章,链接如下: https://www.cnblogs.com/xiao987334176/p/13074198.html 已经实现了基于Jenkins+Gitlab+Harbor ...

  3. 轻量级CI/CD自动构建平台Gitea+Drone保姆级实践教程

    目录 1.关于Gitea 1.1 gitea特性 1.2 快速安装 1.2.1 环境依赖 1.2.2 安装gitea 1.2.3 启动 1.2.4 访问 1.2.5 创建一个测试仓库 2 关于Dron ...

  4. gogs创建项目_容器云平台No.10~通过gogs+drone+kubernetes实现CI/CD

    什么是CI/CD 持续集成(Continous Intergration,CI)是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每 ...

  5. 容器云平台No.10~通过gogs+drone+kubernetes实现CI/CD

    什么是CI/CD 持续集成(Continous Intergration,CI)是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每 ...

  6. [小团队自动化](二) Drone CI使用Vault作为凭据存储 —— 打造自己的CI/CD工作流...

    写在前边 这一篇文章是基于 Gitea+Drone CI+Vault 打造属于自己的CI/CD工作流系列文章第二篇,让我们一起来完成 drone 与 vault 的搭配使用,这篇主要讲 vault 的 ...

  7. 基于K8S构建企业级Jenkins CI/CD平台实战(三) 之 带你实战Spring boot/Cloud 项目 CI/CD jenkins自动化构建、部署过程

    需要环境 Git(GitLab) Harbor 私服 kubernetes-plugin 使用 Kubernetes jenkins 通过前面三篇我们已经了解了jenkins和 kubernetes- ...

  8. CI/CD with drone

    drone是前google员工2013年开源的一个CI/CD工具,现在已经拉了投资商业化了.企业版是付费的,我们用的是免费版本. drone引入pipline的概念,整个build过程由多个stage ...

  9. .Net Core2.1 秒杀项目一步步实现CI/CD(Centos7)系列二:k8s高可用集群搭建总结以及部署API到k8s...

    前言:本系列博客又更新了,是博主研究很长时间,亲自动手实践过后的心得,k8s集群是购买了5台阿里云服务器部署的,这个集群差不多搞了一周时间,关于k8s的知识点,我也是刚入门,这方面的知识建议参考博客园 ...

最新文章

  1. python核心-类-1
  2. linux小工具(2)终端记录器script命令
  3. 数据库开发——MySQL——foreign key
  4. 4 error C2220: 警告被视为错误 - 没有生成“object”文件 (..\..\src\caffe\util\math_functions.cpp)
  5. SQLite | Insert、Delete、Updata 与 Drop 语句
  6. RAC srvctl 命令报 libpthread.so.0 cannot open shared object file No such file or directory 解决方法...
  7. android笔记--与服务器交互更改简历状态
  8. xulrunner弹出窗口不显示解决方法
  9. 用python导出pptx中每一页的标题
  10. linux 文件安装大全,linux 文件包安装大全
  11. 图像处理经典算法及OpenCV程序
  12. excel转置怎么操作_EXCEL/WPS如何快速将一行转置成一列,一列转置成一行?
  13. Android 百度导航SDK
  14. 打造生产工具(1)——安装纯净windows系统
  15. opencart seo优化_「opencart seo插件」wordpress SEO插件都有哪些好用的?...
  16. 狂神——通过EasyExcel来操作Excel
  17. java撞墙随机变色_将CompletableFuture与EJb一起使用时撞墙 - java
  18. python从字符串中抽取一部分_python如何截取字符串中特定部分
  19. Here document使用方法总结
  20. win10+vs2019配置lite.ai.toolkit预编译库

热门文章

  1. 为自动驾驶技术服务的基础道路设施
  2. 参考文献中的[EB/OL]表示什么含义?
  3. Dynamics 365的环境搭建完整流程(一)
  4. lua游戏脚本开发之叉叉集成开发环境使用教程与配置【如何连接模拟器】
  5. 3dmax入门 | 学3d建模必备软件技能基础教学
  6. Codeforces 924C Riverside Curio(瞎搞)
  7. 1688/阿里巴巴按关键字搜索新品数据 API 使用说明
  8. 企业各首席官以及工作介绍
  9. 跨境电商收款账号一样会关联吗?谁能告诉?
  10. 安卓期末大作业——汉服社区(源码+任务书)