ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

kubenetes持续集成与部署

2022-04-02 06:32:00  阅读:182  来源: 互联网

标签:集成 克隆 部署 代码 GitLab 构建 kubenetes 提交 jenkins


 

一、常见的企业中kubenetes持续集成流程图

流程:

1.由运维或者开发提交一个job触发任务构建,但是在jenkins上进行代码编译,镜像构建太消耗jenkins的资源。

2.因此java需要maven机器克隆代码、代码构建、形成var包或jar包。

3.然后拷贝到镜像构建节点,然后将镜像上传到harbor,

4.由kubectl发送指令促发k8s的代码更新,api-server会接受指令,检测指令、权限无误后进行服务更新。 

 

官方流程图

流程:

1.运维或开发,commit提交代码(包扩提交Service Name、Resource Request等)

2.然后由docker file、jenkins file往GiiLab提交代码

3.GitLab触发Jenkins进行代码部署、镜像构建

4.Jenkins上传镜像到harbor

5.With scripts执行某些脚本生成yaml文件进行变量替换。

6.Creating service yaml进行生成yaml文件、保存yaml 文件。

7.Update ingress,新服务上线后,更新ingress.yaml,DNS域名等。

 

安装

1.安装jdk环境

#yum install java-11-openjdk-devel

 2.配置文件

#vim /etc/default/jenkins
启动用户与组更改,生产环境最好用普通用户

 


更改完毕重启 jenkins 生效
#systemctl restart jenkins

3.jenkins初始化文件密码存放路径

 4.安装常用插件

 5.创建用户后就可以开始使用了。

 6.重启jenkins,让刚安装的插件生效

#systemctl restart jenkins

插件存放目录

#ls /var/liv/jenkins/plugins

 

GitLab项目构建测试

GitLab新建项目

 

新建LICENSE

 新建一个简单的页面文件,后续用来进行演示代码部署是否生效

代码提交

 

 jenkins虚拟机从GitLab克隆

1.ssh克隆

 

模拟开发进行本地代码修改

#vim index.heml

 提交代码到暂存区

#git add .

提交代码到本地仓库

#git commit -m "v2"

-m:提交信息v2

上传代码到GitLab服务器

 

如何让Jenkins克隆到GitLab的代码

 1.jenkins新建任务,选自由风格的软件项目

构建环境勾选:把之前的工作环境、克隆过的代码,文件删除,以防代码部署出问题

 

 验证环境是否能执行

 

 

2.立即 构建,验证是否执行成功

 3.绿色 √ 代表无问题,控制台输出是项目构建详细过程

 

jenkins调用脚本方式执行代码构建

1.创建脚本存放路径,编写脚本

 2.在此脚本中,将部署的流程用shell或python写出来,如jenkins从GitLab克隆代码,此处采用GitLab的ssh密钥克隆方式

 

 赋于脚本执行权限

#chmod a+x 

3.jenkins项目配置改为调用该脚本

 

Jenkins克隆信任

jenkins需要在任何目录都可以执行代码克隆,要将jenkins服务器的公钥放到GitLab服务器

1.jenkins服务器生成密钥对

2. 将公钥放到GitLab服务器上

 

 

项目构建测试

1.再次构建项目

2.查看控制台输出,如图输出脚本的内容,代表jenkins从GitLab克隆代码成功

 

 

标签:集成,克隆,部署,代码,GitLab,构建,kubenetes,提交,jenkins
来源: https://www.cnblogs.com/cndr/p/16089967.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有