jinkens+k8s部署微服务项目

 一、CICD

        CI/CD(Continuous Integration/Continuous Delivery)指的是一种软件开发流程,通过自动化的方式将代码集成到主干分支,并且持续地将代码交付给用户。全程包括以下几个步骤:

  1. 集成(Integration):开发人员将他们开发好的代码集成到主干分支。这个过程中,可以使用版本控制工具(如Git)来管理代码的版本,确保团队成员之间的协同开发。

  2. 持续集成(Continuous Integration):在代码集成到主干之前,进行自动化测试。这些测试用例可以检查代码是否满足预期的功能、性能和质量要求。如果有任何一个测试用例失败,代码将不能集成到主干分支,开发人员需要修复错误后再次尝试集成。

  3. 持续交付(Continuous Delivery):一旦代码成功地集成到主干分支,它将被自动构建和打包成可执行的软件。这个过程可以使用自动化工具(如Jenkins)来实现,以确保软件的可靠性和一致性。

  4. 持续部署(Continuous Deployment):在持续交付的基础上,将软件部署到目标环境中(如测试环境、生产环境等)。这个过程可以使用自动化工具和配置管理工具(如Ansible)来实现,以减少手动操作和人为错误。

        通过实施CI/CD流程,可以提高软件开发的效率和质量,减少开发团队之间的协调工作,同时使得软件的交付更加快速和可靠

二、项目原理

        开发人员提交完代码至版本控制器后,由Jenkins自动获取远程代码,自动打包,自动创建镜像,上传仓库,然后自动部署Kubernetes容器集群

三、项目过程

        1. 项目现有环境:

             一台 jinkens,内有docker maven jdk1.80 kubectl命令

            三台k8s master两台node

        2. jinkens添加免密,k8sconfig文件

                jinkens主机生成公钥私钥

                [root@localhost ~]# ssh-key 

                复制私钥到jinkens页面添加全局配置Private Key下

                [root@localhost .ssh]# cat id_rsa

                

                复制公钥到GitLab页面添加ssh免密

                [root@localhost .ssh]# cat id_rsa.pub 

               将k8smaster-config文件复制到jinkens下,让jinkens可以控制node集群

               [root@jinkens ~]# mkdir .kube

               [root@master ~]# scp .kube/config jinkens@jinkensIP:/root/.kube/

               [root@jinkens ~]# ls .kube/ config

           3.进入jinkens,编写流水线piplien,执行

                git拉取git仓库代码 (创建流水线) 下面自动创建piplien代码

                 steps { checkout scmGit(branches: [[name: '*/master']], userRemoteConfigs:                         [[credentialsId: '4c0c9124-4d1f-4c75-8021-0a7eae27faf4', url:                         'git@codeup.aliyun.com:64d88e6f950bdf4486a599b7/jar-demo.git']])

                   }

                使用mvn打包对代码打包,需要添加tools配置

                 tools {

                        jdk 'jdk1.8'

                        maven 'mvn'

                }

                需要提前在jinkens网页配置中的tools添加jdk、maven

                执行sh语句进行mavn编译

                sh "mvn clean install"

                编写dokerfile构建镜像,上传镜像仓库,部署k8s

                添加一个jdk1.80包,放在jinkens的工作目录下

                cat   >> END > Dockerfile

                FROM centos7

                ADD ./jdk-u80.tar /root/jdk.1.8

                ADD ./target/demo.jar /root/

                CMD /root/jdk1.8/java -jar /root/demo.jar

                END

                 进行build构建镜像并上传镜像仓库

                用yaml文件pull镜像仓库镜像,进行部署容器集群

               使用ingress-nginx并通过yaml七层进行调度

                

                

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值