前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kubernetes-jenkins CI/CD平台(十八)

kubernetes-jenkins CI/CD平台(十八)

作者头像
yuezhimi
发布2020-09-30 11:43:41
1.4K0
发布2020-09-30 11:43:41
举报
文章被收录于专栏:yuezhimiyuezhimi

软件环境:Jenkins + Kubernetes + Git + Maven + Harbor

发布流程设计

工作流程:手动/自动构建-> Jenkins 调度K8S API->动态生成Jenkins Slave pod ->Slave pod 拉取Git 代码/编译/打包镜像->推送到镜像仓库Harbor ->Slave 工作完成,Pod 自动销毁->部署到测试或生产Kubernetes平台。

环境准备:

准备K8S、Ingress和PV自动供给(NFS),
部署harbor:https://github.com/goharbor/harbor/releases
构建jenkins-slave镜像:https://github.com/jenkinsci/docker-jnlp-slave
将构建好的jenkins-slave镜像推送至harbor仓库
在kubernetes中部署jenkins:https://github.com/jenkinsci/kubernetes-plugin/tree/fc40c869edfd9e3904a9a56b0f80c5a25e988fa1/src/main/kubernetes
部署git,创建用户,jenkins保存git凭据
Kubernetes插件:Jenkins在Kubernetes集群中运行动态代理。插件介绍:https://github.com/jenkinsci/kubernetes-plugin
构建流水线
Pipeline插件
  • Jenkins Pipeline是一套插件,支持在Jenkins中实现集成和持续交付管道;
  • Pipeline通过特定语法对简单到复杂的传输管道进行建模;
    • 声明式:遵循与Groovy相同语法。pipeline { }
    • 脚本式:支持Groovy大部分功能,也是非常表达和灵活的工具。node { }
  • Jenkins Pipeline的定义被写入一个文本文件,称为Jenkinsfile。
Jenkins安装Git和Pipeline插件 ExtendedChoiceParameter
Jenkins保存Harbor访问凭据
镜像命名

根据Jenkins构建编号作为镜像标签:

${registry}/${project}/${app_name}:${BUILD_NUMBER}

还可以根据Git Tag作为镜像标签,这需要与开发、测试、运维达成一个约定。

jenkins创建任务
持续部署

Kubernetes Continuous Deploy插件:用于将资源配置部署到Kubernetes。

插件介绍:https://plugins.jenkins.io/kubernetes-cd

Jenkins保存K8S凭据

[root@k8s-master ~]# cat .kube/config

K8S创建连接Harbor认证凭据

kubectl create secret docker-registry registry-pull-secret --docker-server=192.168.0.221 --docker-username=admin --docker-password=Harbor12345 --docker-email=admin@admin.com

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 发布流程设计
  • 环境准备:
    • 准备K8S、Ingress和PV自动供给(NFS),
      • 部署harbor:https://github.com/goharbor/harbor/releases
        • 构建jenkins-slave镜像:https://github.com/jenkinsci/docker-jnlp-slave
          • 将构建好的jenkins-slave镜像推送至harbor仓库
            • 在kubernetes中部署jenkins:https://github.com/jenkinsci/kubernetes-plugin/tree/fc40c869edfd9e3904a9a56b0f80c5a25e988fa1/src/main/kubernetes
              • 部署git,创建用户,jenkins保存git凭据
                • Kubernetes插件:Jenkins在Kubernetes集群中运行动态代理。插件介绍:https://github.com/jenkinsci/kubernetes-plugin
                  • 构建流水线
                    • Pipeline插件
                    • Jenkins安装Git和Pipeline插件 ExtendedChoiceParameter
                    • Jenkins保存Harbor访问凭据
                    • 镜像命名
                    • jenkins创建任务
                    • 持续部署
                    • K8S创建连接Harbor认证凭据
                相关产品与服务
                容器镜像服务
                容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档