首页 > 其他分享 >第二部分:关键技术领域的开源实践【持续集成和交付Jenkins】

第二部分:关键技术领域的开源实践【持续集成和交付Jenkins】

时间:2024-07-15 21:07:39浏览次数:18  
标签:集成 插件 关键技术 home 开源 jenkins Jenkins Docker

Jenkins 是一款广泛使用的开源持续集成(Continuous Integration, CI)和持续交付(Continuous Delivery, CD)工具,它帮助企业解决了多个关键的痛点需求,主要包括以下几个方面:

  1. 自动化构建与测试: Jenkins 可以自动化执行构建过程,每当代码库中有新的提交时,Jenkins 就可以自动运行构建脚本,并执行单元测试、集成测试等,确保代码的质量和稳定性。
  2. 持续集成与持续交付: 通过持续集成,Jenkins 能够频繁地将代码集成到主分支中,并进行自动化测试,及时发现问题。持续交付则使企业能够快速、可靠地将代码推送到生产环境中,缩短了软件交付周期。
  3. 流水线即代码: Jenkins 具备强大的流水线功能,允许用户使用 Jenkinsfile 定义构建、测试和部署的流程,使得整个流程可重复、可审计、可版本控制。
  4. 跨平台与多语言支持: Jenkins 支持多种操作系统和编程语言,能够适应企业复杂的开发环境。
  5. 插件生态系统: Jenkins 拥有丰富的插件生态,可以轻松集成各种工具和服务,如代码仓库(如 Git)、项目管理工具(如 Jira)、容器平台(如 Docker)、云平台(如 AWS、Azure)等,提供灵活的扩展性和集成能力。
  6. 集中化管理与监控: 对于大型企业而言,Jenkins 提供了集中化的管理界面,可以监控多个项目的构建状态,便于跟踪和管理。
  7. 权限管理与安全: Jenkins 提供了详细的权限管理功能,可以控制谁可以访问和修改特定的构建任务,这对于大型组织来说是非常重要的。
  8. 资源利用率与成本节约: 通过自动化,Jenkins 减少了人工操作的需要,提高了开发效率,同时降低了出错率和成本。

Jenkins安装

使用 Docker 安装 Jenkins 是一种快速和轻便的方式,因为 Docker 容器提供了良好的隔离性和可移植性。下面是使用 Docker 安装 Jenkins 的基本步骤:

步骤 1: 安装 Docker

确保你已经在你的系统上安装了 Docker。如果还没有安装,你可以访问 Docker 的官方网站下载适合你操作系统的 Docker 版本。

步骤 2: 拉取 Jenkins 镜像

打开终端或命令行工具,运行以下命令来拉取 Jenkins 的 Docker 镜像:

docker pull jenkins/jenkins:lts

这里我们选择了长期支持(LTS)版本的 Jenkins 镜像,因为它提供了更多的稳定性和维护支持。

步骤 3: 创建数据卷

为了持久化 Jenkins 的数据,你需要创建一个数据卷,这样即使 Docker 容器被删除,数据也不会丢失。

mkdir -p /path/to/jenkins_home
chown -R 1000:1000 /path/to/jenkins_home

这里的 /path/to/jenkins_home 应替换为你希望存放 Jenkins 数据的实际路径。

步骤 4: 启动 Jenkins 容器

使用以下命令启动 Jenkins 容器,并将数据卷映射到容器内部的 /var/jenkins_home 目录:

docker run \
  -d \
  --name jenkins \
  -p 8080:8080 \
  -p 50000:50000 \
  -v /path/to/jenkins_home:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkins/jenkins:lts

这里 -p 参数用于映射端口,8080 是 Jenkins 的默认 HTTP 端口,50000 是 Jenkins Agent(或 Slave)连接到主节点的默认端口。-v 参数用于数据卷的映射。

步骤 5: 访问 Jenkins

启动容器后,你可以通过浏览器访问 Jenkins 的 UI。在浏览器中输入 http://<your_host_ip>:8080,其中 <your_host_ip> 是你的 Docker 主机 IP 地址,如果你是在本地机器上运行,则可以使用 localhost 或者 127.0.0.1

步骤 6: 初始化 Jenkins

首次访问 Jenkins 时,你需要初始化 Jenkins。初始化过程中,你会被要求输入一个初始管理员密码,这个密码可以在数据卷中的一个文件里找到,通常是 /path/to/jenkins_home/secrets/initialAdminPassword

完成以上步骤后,你就可以开始使用 Jenkins 来设置你的持续集成和持续交付流程了。

image.png
登录成功后的主界面
image.png

安装插件失败的终级解决办法

跳过新手安装和自定义安装插件。项目中 一般安装的插件有git、SSH、Localization: Chinese (Simplified)、Git Parameter、Maven Integration、nodejs插件。

默认启用了安全验证,解决方法:下载skip-certificate-check插件,直接跳过安全验证
插件下载网址:https://updates.jenkins-ci.org/download/plugins/
#1.先访问插件管理页面,地址../pluginManager/advanced
http://192.168.0.100:8088/jenkins/pluginManager/advanced
#首次进入时,输入管理员密码
cat /root/.jenkins/secrets/initialAdminPassword
#地址栏重新输入:http://192.168.0.100:8088/jenkins/pluginManager/advanced
上传skip-certificate-check

image.png

image.png

#也可以尝试更新源替换为
https://updates.jenkins.io/update-center.json或
https://updates.jenkins-zh.cn/update-center.json
#重启jenkins
http://192.168.0.100:8088/jenkins/restart

标签:集成,插件,关键技术,home,开源,jenkins,Jenkins,Docker
From: https://www.cnblogs.com/budaos/p/18303975

相关文章

  • ArduPilot开源代码之EKF系列研读
    ArduPilot开源代码之EKF系列研读1.源由2.基本原理3.数学公式4.研读步骤5.参考资料1.源由EKF(扩展卡尔曼滤波器,ExtendedKalmanFilter)是一种非线性滤波算法,是标准卡尔曼滤波器在非线性系统中的扩展。它在处理和估计非线性系统状态时广泛应用,如机器人导航、目标......
  • OpenAI 曝新项目「草莓」,提升 AI 推理能力;智谱 AI 开源视频理解模型丨 RTE 开发者日报
      开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑的个人观点,欢......
  • 智能小车开源样例运行
    环境准备前置条件按照官方指导文档完成CANN包安装CANN版本需要>=5.0.4.alpha001(本教程使用5.04alpha005)软件准备源码包:samples:CANNSamples(gitee.com)模型:cplusplus/contrib/Ascbot/README_CN.md·Ascend/samples-Gitee.com建议下载模型,权重和配置文件后本地使......
  • 填鸭表单!开箱即用的开源问卷调查系统!
    大家好,我是Java陈序员。我们在日常生活中,有时候因为工作需要,需要发布一些问卷调查,来统计数据,获得反馈!今天,给大家介绍一款开箱即用的开源问卷调查系统!关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。项目介绍TDuck——一款免......
  • 使用Docker部署mailcow开源邮件系统详细过程
    1.项目介绍项目网站:mailcow:dockerized–Blog根据官方介绍,这个项目名称是mailcow,名称都是小写的。下面内容是通过AI翻译自官方文档:mailcow:dockerizeddocumentationmailcow:dockerized是一个基于Docker的开源组件/电子邮件套件。mailcow依赖于许多广为人知且长期......
  • 开源工作流设计器(流程设计器)哪个好
    大家在开发OA办公自动化、ERP、CRM、BPM、低代码平台等项目的时候,经常用到流程引擎,目前主流的开源流程引擎有activiti、flowable、camunda。这几个开源的流程引擎均基于BPMN2.0国际规范标准,其功能均比较强大,接口也很丰富。但涉及到人机交互界面大部分都需要定制开发,开源工作流引擎......
  • jenkins流水线自动构建配置
    pipeline{agentanytools{jdk'jdk8'}environment{harborUser="admin"harborPassword="Harbor12345"harborAddress="harbor地址"harborRepo=&......
  • 第二部分:关键技术领域的开源实践【企业Maven私服】
    企业Maven私服主要解决了以下几个关键的痛点需求:网络访问限制:许多企业出于安全考虑,限制了对外部网络的访问,尤其是对公网上的远程仓库如Maven中央仓库的直接访问。Maven私服作为内部的仓库,可以替代对中央仓库的依赖,使得即使在没有互联网连接的情况下,开发人员也可以获取到所需的......
  • 写真图片视频打赏系统源码全开源无加密
    这是一款开源的写真图片及视频打赏系统源码,顾名思义他可以做写真图片打赏站也可以做视频打赏站,支付对接了易支付,拥有独立代理后台,全部源码无加密,另外也可以配合付费进群使用。支付扣量、域名防洪这些基本的就不介绍了,看图吧!留给有需要的人!源码下载:图片视频打赏系统源码.zip可......
  • 开源缺陷管理系统全解析:如何选择最适合你的?
    国内外主流的10款开源缺陷管理系统软件对比:PingCode、Worktile、Bugzilla、osTicket、MantisBT、Trac、OpenProject、Phabricator、RequestTracker、TheBugGenie。在管理软件项目时,缺陷管理常常是团队面临的一大挑战。选择一个合适的开源缺陷管理系统可以显著提高错误跟踪的......