Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)(上)

简介: Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)

🏆 文章目标:整合Jenkins + Docker + Git 简单的自动化实操,尽自己努力写出最简单,最实用的文章。

🍀 Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)

✅ 创作者:Jay…

🎉 个人主页:Jay的个人主页

🍁 展望:若本篇讲解内容帮助到您,请帮忙点个赞吧,您的支持是我继续写作的最大动力,谢谢。🙏

Jenkins 快速入门

什么是CI/CD

这里我就不吹嘘了,建议大家看看这篇文章,专业性很高:https://linux.cn/article-9926-1.html

什么是Jenkins

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

官方地址:https://www.jenkins.io/

官方文档:https://www.jenkins.io/doc/book/

工作流程对比

比较原始、典型的java项目发布工作流程:

1.java项目开发 >> 2.提交项目代码到(git或svn) >> 3. 拉取项目代码(jenkins或手动) >> 4.编译项目代码(jenkins或手动) >> 5.发布java项目,并运行java项目 >> 6.测试

用docker+jenkins+git发布java项目流程

1.java项目开发 >> 2.提交项目代码git容器 >> 3.jenkins容器拉取项目代码 >> 4.maven编译构建项目 >> 5.jenkins发布项目到tomcat容器 >> 6.测试

使用Jenkins的优点

看到原始流程后,在没有jenkins的情况下这些步骤都是手工完成的。在Jenkins的帮助下,除了第1步和第2步,后续几步都是自动化完成的。当你完成了提交,Jenkins会自动运行你的编译脚本,编译成功后,再运行你的测试脚本,这一步成功后,接着它会帮你把新程序发布出去,特别是,你可以选择手动发布,或自动发布。

大大缩短了打包、部署、发布、测试的人工成本,让开发人员更加专注于代码的开发。

本次实操的准备项

1、Docker简单入门即可。

2、准备Gitee账号及仓库

3、准备Maven工程及Java测试代码

4、准备一台配置一般的服务器即可。

基于Docker 安装Jenkins

1、使用Docker 安装 Jenkins, 并后台运行 (关于Docker的学习,有兴趣请查看我的Docker笔记)

[root@izbp14mpsl7ffa0622d4q2z jenkins_data]# docker run -d -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home --name firstJenkis jenkinsci/blueocean
f103110744b52efeb44bf0145bc42fcc4c38184733c749a06c21df3e1f5b3c3c

2、访问8080,等待初始化,大概3分钟左右

3、密码授权

进入jenkins容器,查看密码并粘贴到界面中。

[root@izbp14mpsl7ffa0622d4q2z jenkins_data]# docker exec -it f103110744b5 /bin/bash
bash-5.1$ cat /var/jenkins_home/secrets/initialAdminPassword
e04717fe675a4b4f9506050e7faacbfe
bash-5.1$

4、选择第一个选项,安装默认推荐的插件

安装中…

5、注册管理员基本信息,完成选择“Save and Continue”

确认 Jenkins URL,完成选择“Save and Finish”

完成配置,进行重启。点击“Restart”,需要等待一段时间。

6、登录

完成安装

Jenkins + Docker + Gitee 半自动化实操

1、移动到Manager -> Manage Plugins -> Available Tab,安装Maven,Gitee,Role-based Authorization Strategy,点击“Install without restart”

勾选后,空闲时重新启动下Jenkins。

2、配置JDK、maven

配置JDK,我使用的安装方式,可以在“Add Installer”下选择其他模式。

注意:安装JDK需要有Oracle 账号,没有账号建议在Jenkins中下载好JDK,直接配置好,详请可百度。

配置Maven

3、配置Gitee

在Jenkins 容器中生成SSH Key(命令如下),并将公钥配置到对应的远程仓库。

在本地生成公钥和密钥。

ssh-keygen -t rsa -C 'xxxx@163.com'

配置信任hosts, 不配置将出现FQA第一条的问题。

git ls-remote -h 仓库地址 HEAD

4、移动到 “Manage Jenkins -> System Configure -> Gitee Configuration” 配置Gitee插件

配置名称、Gitee的host 地址。

配置Credentials,进行授权,点击Add 选择Jenkins,配置完成选择"Add"

配置完成后,到最底部,选择“Save”。

关注公众号:熊猫Jay字节之旅,了解更多 AI 技巧 ~


Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)(下)+

相关文章
|
19天前
|
运维 监控 Docker
构建高效微服务架构:从理论到实践构建高效自动化运维体系:Ansible与Docker的完美融合
【5月更文挑战第31天】 在当今软件开发的世界中,微服务架构已经成为了实现可伸缩、灵活且容错的系统的关键策略。本文将深入探讨如何从零开始构建一个高效的微服务系统,涵盖从概念理解、设计原则到具体实施步骤。我们将重点讨论微服务设计的最佳实践、常用的技术栈选择、以及如何克服常见的挑战,包括服务划分、数据一致性、服务发现和网络通信等。通过实际案例分析,本文旨在为开发者提供一套实用的指南,帮助他们构建出既健壮又易于维护的微服务系统。
|
25天前
|
运维 监控 安全
构建高效自动化运维体系:Ansible与Docker的协同实战
【5月更文挑战第25天】 在当今快速迭代的软件发布环境中,自动化运维成为确保部署效率和可靠性的关键。本文通过深入分析Ansible和Docker技术,探索它们如何协同工作以构建一个高效的自动化运维体系。文章不仅介绍了Ansible的配置管理功能和Docker容器化的优势,还详细阐述了将两者结合的实践策略,旨在帮助读者理解并实现更智能、更灵活的基础设施管理。
|
5天前
|
Java Linux Shell
docker 打包 springboot 项目快速入门
docker 打包 springboot 项目快速入门
13 0
|
6天前
|
Linux 开发工具 Docker
【Docker】快速入门手册
【Docker】快速入门手册
44 1
|
12天前
|
jenkins Java 持续交付
|
20天前
|
运维 Kubernetes 持续交付
构建高效自动化运维体系:基于Docker和Kubernetes的实践
【5月更文挑战第30天】 在当今的快速迭代和持续部署的软件发布环境中,自动化运维的重要性愈发凸显。本文旨在探讨如何利用容器化技术与微服务架构,特别是Docker和Kubernetes,来构建一个高效、可伸缩且自愈的自动化运维体系。通过详细分析容器化的优势及Kubernetes的集群管理机制,文章将提供一个清晰的指南,帮助读者理解并实现现代软件部署的最佳实践。
|
21天前
|
运维 Kubernetes 监控
构建高效自动化运维体系:基于Docker和Kubernetes的实践指南
【5月更文挑战第29天】 在现代云计算环境中,自动化运维已成为提升服务效率、确保系统稳定性的关键因素。本文深入探讨了如何利用Docker容器化技术和Kubernetes集群管理工具来构建一个高效且灵活的自动化运维体系。通过分析具体实施步骤和策略,我们旨在为读者提供一个清晰的指导框架,以支持他们在不断变化的技术需求中快速部署和扩展应用程序。本指南不仅涉及技术的基础知识,还涵盖了持续集成/持续部署(CI/CD)流程的集成,以及监控和日志管理的优化实践。
|
21天前
|
运维 监控 持续交付
构建高效自动化运维系统:基于Docker Swarm的策略与实践
【5月更文挑战第29天】 在现代企业IT基础架构管理中,自动化运维已成为提升效率、确保稳定性的关键因素。本文通过探讨基于Docker Swarm的集群管理和自动化部署策略,旨在为读者提供一个构建和维护高效自动化运维系统的全面视角。文章不仅涵盖了Docker Swarm的基础概念和关键特性,还深入分析了如何结合持续集成/持续部署(CI/CD)流程,实现无人工干预的服务部署和横向扩展。此外,文中也讨论了监控、日志和故障恢复等运维实践,以期帮助读者构建一个既可靠又灵活的自动化运维平台。
|
21天前
|
运维 监控 安全
构建高效自动化运维体系:Ansible与Docker的完美结合
【5月更文挑战第28天】 在当今快速演变的IT环境中,自动化已成为维护系统稳定性与提高效率的关键。本文将探讨如何通过结合Ansible和Docker技术构建一个高效的自动化运维体系。文章不仅介绍两者的基本概念,还详细阐述了集成实践,以及通过真实案例分析其优势和潜在挑战,旨在为读者提供一套可行的解决方案,以优化他们的DevOps流程。
|
21天前
|
运维 Kubernetes 监控
构建高效自动化运维系统:基于Docker和Kubernetes的实践
【5月更文挑战第28天】在现代云计算环境中,自动化运维已成为提升服务效率、减少人为错误和应对快速变化需求的关键。本文以实际案例为依托,详细探讨了如何利用Docker容器化技术和Kubernetes集群管理系统搭建一套高效的自动化运维平台。通过深入分析Docker的轻量级虚拟化特性及Kubernetes的编排能力,本文展示了从基础设施搭建到持续集成、部署和监控的全自动化流程,旨在为运维工程师提供一种提高生产力、降低运营成本的可行解决方案。