您现在的位置是:首页 >技术杂谈 >基于Kubernetes集群构建大中型企业CICD应用平台(5)--Integrate工具网站首页技术杂谈
基于Kubernetes集群构建大中型企业CICD应用平台(5)--Integrate工具
5.1、jenkins介绍
持续集成、持续部署的工具很多,其中Jenkins是一个开源的持续集成平台。
Jenkins涉及到将编写完毕的代码发布到测试环境和生产环境的任务,并且还涉及到了构建项目等任务。
Jenkins需要大量的插件保证工作,安装成本较高,下面会基于Docker搭建Jenkins
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具
Jenkins应用广泛,大多数互联网公司都采用Jenkins配合GitLab、Docker、K8s作为实现DevOps的核心工具。
Jenkins最强大的就在于插件,Jenkins官方提供了大量的插件库,来自动化CI/CD过程中的各种琐碎功能。
Jenkins最主要的工作就是将GitLab上可以构建的工程代码拉取并且进行构建,再根据流程可以选择发布到测试环境或是生产环境。
一般是GitLab上的代码经过大量的测试后,确定发行版本,再发布到生产环境。
CI/CD可以理解为:
-
CI过程即是通过Jenkins将代码拉取、构建、制作镜像交给测试人员测试。
-
持续集成:让软件代码可以持续的集成到主干上,并自动构建和测试。
-
-
CD过程即是通过Jenkins将打好标签的发行版本代码拉取、构建、制作镜像交给运维人员部署。
-
持续交付:让经过持续集成的代码可以进行手动部署。
-
持续部署:让可以持续交付的代码随时随地的自动化部署
-
5.2 Jenkins安装
-
拉取Jenkins镜像
docker pull jenkins/jenkins:2.319.1-lts
- 编写docker-compose.yml
version: "3.1"
services:
jenkins:
image: jenkins/jenkins:2.319.1-lts
container_name: jenkins
ports:
- 8080:8080
- 50000:50000
volumes:
- ./data/:/var/jenkins_home/
-
首次启动会因为数据卷data目录没有权限导致启动失败,设置data目录写权限
在宿主机上执行:# chmod -R 777 data
权限修改后,重启docker-compose
# docker-compose restart
随后查看jenkins的启动日志:
2023-05-12 13:32:07.803+0000 [id=30] INFO jenkins.InitReactorRunner$1#onAttained: Loaded all jobs
2023-05-12 13:32:07.804+0000 [id=30] INFO jenkins.InitReactorRunner$1#onAttained: Configuration for all jobs updated
2023-05-12 13:32:07.846+0000 [id=44] INFO hudson.model.AsyncPeriodicWork#lambda$doRun$1: Started Download metadata
2023-05-12 13:32:07.852+0000 [id=44] INFO hudson.util.Retrier#start: Attempt #1 to do the action check updates server
2023-05-12 13:32:08.432+0000 [id=31] INFO jenkins.install.SetupWizard#init:*************************************************************
*************************************************************
*************************************************************Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:d333808f798b4d508986e9022d5b2284
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
-
查看密码登录Jenkins,并登录下载插件
docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword
- 选择需要安装的插件
这里安装git parameter、publish Over SSH两个插件
- 下载完毕设置信息进入首页(可能会出现下载失败的插件)