jenkins容器化部署

一、需要的服务器:
三个服务器,gitlab服务器,jenkins服务器,k8s集群(240堡垒机)


二、环境(需要安装的工具):
1、gitlab服务器:
Gitlab

2、jenkins服务器:
jenkins
Git:拉取代码
Jdk
Maven:编译java微服务的源码成为jar
Docker:在本地构建镜像
Python
go

3、堡垒机:
Docker
K8s


三、工作原理(流程):
首先,开发本地提交代码到远程仓库触发钩子程序,钩子程序然后通知jenkins有代码的更新,jenkins通过gitlab的账号密码远程拉取项目所有的代码保存在本地的家目录,然后jenkins本地做测试,jenkins切换到家目录该微服务代码所在目录开始maven的构建把代码构建成一个snap的二进制可执行的jar包,然后根据拉取的Dockerfile文件在dockers环境下把jar包在本地构建成一个镜像并打上标签,然后Jenkins远程访问华为云的swr仓库把构建的镜像推送上去进行

四、容器化的好处:
因为240堡垒机上跑了很多项目,直接部署在堡垒机上会跟现有的环境发生冲突,容器提供了一个隔离的环境互不影响,很好的解决了这个问题。

五、具体的配置过程:

1、首先,制作Jenkins的镜像:
从第三方下载或者从远程仓库拉取都可以,这里是从第三方下载镜像,然后通过yaml文件运行成一个pod,在Jenkins pod里面配置需要的环境
生成一个服务:
[root@cce-engine-dev-ai_uav-ctrl jenkins02]# kubectl apply -f jenkins.yaml

 

 

 

 进入pod:

 

 

2、浏览器访问jenkins:
http://124.70.44.176:30008/
安装完成后首次登录会提示
3、初始化:

 

 

根据提示进入该目录查看初始密码文件
复制后粘贴输入即可登录jenkins
登录后会提示安装插件,可以选择安装推荐的插件

 

 

 

 4、创建用户:

 

 

5、全局工具配置:
Maven:

 

 

 Jdk:

 

  Git:

 

   maven家目录配置:

 

 

6、权限管理插件以及相关插件的安装:
针对权限角色进行划分

基于插件:Role-based Authorization Strategy、Authorize Project来实现(已安装)

 

 然后就可以在全局安全配置里面进行配置:

 

 

7、权限分配:
基于第6步可以进行权限角色的分配

 

 8、配置凭据:

 

 

 

 9、用户的添加配置:

 

 10、系统配置:

 

 

 

 11、节点管理:

 

 12、创建流水线:

 

 然后保存,点击构建进行自动部署

13、配置远程触发:
首先,要安装gitlab插件:

 

 点击generate安装生成token:

 

 在gitlab里面配置远程自动触发:

 

 把生成的token和微服务的链接地址配置进去:

 

 测试是否配置成功:

 

 出现以下提示代表配置成功:

 

posted @ 2022-08-16 14:42  追梦boyaaa  阅读(736)  评论(0编辑  收藏  举报