Docker搭建一款开源持续集成和持续交付(CI/CD)工具

文摘   2024-10-29 14:51   广东  
系统介绍
Jenkins是一个开源的、用Java编写的持续集成和持续交付(CI/CD)工具。它拥有丰富的插件生态系统、良好的可扩展性和多平台支持等特点,适用于各种软件开发项目。通过合理的安装与配置,Jenkins可以帮助开发团队提高开发效率、降低风险并优化团队协作。

主要特点

  • 持续集成:Jenkins支持通过持续集成管道(Pipeline)来自动化构建、测试和部署。它能够检测代码的变更,并触发相应的构建和测试过程,确保及时地发现和解决问题。

  • 插件生态系统:Jenkins拥有丰富的插件生态系统,可以扩展各种功能和集成其他工具。无论是构建工具、版本控制系统、测试框架还是部署平台,都可以通过插件进行集成,满足不同项目的需求。

  • 可扩展性:Jenkins具有良好的可扩展性,可以根据项目的需求进行定制和配置。它支持并行化构建和分布式构建,可以在多个节点上执行任务,提高构建的效率和并发能力。

  • 多平台支持:Jenkins可以运行在各种操作系统上,包括Windows、Linux和Mac OS等。它也可以与各种开发工具和平台无缝集成,适用于不同的开发环境。

  • 可视化界面:Jenkins提供了直观的用户界面,方便用户进行配置、监控和管理。用户可以通过Web界面轻松地创建和管理任务,查看构建结果和日志等信息。

优缺点

  • 开源免费:Jenkins是开源软件,可以免费使用,这对于预算有限的项目或组织尤其有利。

  • 易于安装配置:相对于其他CI/CD工具,Jenkins非常易于安装和配置,这使得它对于初学者来说是一个很好的选择。

  • 插件系统:Jenkins拥有一个庞大的插件生态系统,这些插件可以极大地扩展Jenkins的功能,满足不同的需求。

  • 社区支持:Jenkins有一个活跃的社区,提供了大量的教程、文档和支持,这对于解决使用中遇到的问题非常有帮助。

  • 插件管理复杂:虽然插件系统是Jenkins的一个强项,但同时也带来了一定的复杂性。使用者需要管理和更新大量的插件,这可能会导致配置繁琐和版本兼容性问题。

  • 资源消耗:Jenkins在运行时可能会占用较多的系统资源,尤其是在执行多个并发构建任务时。这可能需要更多的硬件投入,特别是在大型项目中。

如需了解更多信息,可以访问其官方网站或查阅相关的技术文档。

官方网站
https://www.jenkins.io/
Docker镜像
https://hub.docker.com/r/jenkins/jenkins
GitHub地址
https://github.com/jenkinsci/jenkins

安装教程

Docker部署操作步骤:安装Docker、拉取镜像、启动容器。

| 安装docker

sudo apt update
sudo apt install -y docker.io docker-compose

| 拉取镜像

sudo docker pull jenkins/jenkins

| 启动容器

sudo docker run --name jenkins -p 8080:8080 -p 50000:50000 --restart=on-failure -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk17

查看初始密码

启动成功之后,通过查看日志获取密码。

sudo docker logs -f jenkins

关闭CSRF

根据上边宿主机挂载的jenkins工作目录,修改配置文件 jenkins_home/config.xml

# 把<excludeClientIPFromCrumb>false</excludeClientIPFromCrumb> 中的false改为true
<crumbIssuer class="hudson.security.csrf.DefaultCrumbIssuer">
<excludeClientIPFromCrumb>true</excludeClientIPFromCrumb>
</crumbIssuer>
解决插件下载缓慢
进入容器
docker exec -it jenkins /bin/bash

找到 default.json 文件
find / -name default.json

进入对应目录
cd /var/jenkins_home/updates

替换 default.json 中的内容
将 updates.jenkins-ci.org/download 替换为 mirrors.tuna.tsinghua.edu.cn/jenkins,
将 www.google.com 替换为 www.baidu.com

sed -i 's/www.google.com/www.baidu.com/g' default.json
sed -i 's/updates.jenkins-ci.org\/download/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json

插件提速设置好后,需要重新启动jenkins容器

# 重启容器
sudo docker restart jenkins

在浏览器访问ip:8080即可访问jenkins,并输入上方获取的初始密码即可。

关注公众号,为你推荐更多原创干货!

更多内容也可看笔者出版图书

—————————

幼稚猿
分享各类技术资讯和教程,出版多本IT图书《Django+Vue系统架构设计与实现》、《Golang+Vue.js商城项目实战》等
 最新文章