Jenkins环境部署与任务构建

这篇具有很好参考价值的文章主要介绍了Jenkins环境部署与任务构建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、CI/CD

1、CI/CD 概念:

CI/CD 是一种软件开发和交付方法,旨在加速应用程序的开发、测试和部署过程,以提高软件交付的质量和效率。

(1) 持续集成 (CI Continuous Integration):

持续集成是开发团队频繁集成其代码更改的过程。开发者将其代码合并到共享代码库(如Git仓库)后,CI工具(例如Jenkins、Travis CI、CircleCI等)将自动构建、测试和部署应用程序。(代码合并、构建、部署、测试在一起不断执行,并对结构反馈)

(2) 持续交付 (CD Continuous Deployment):

持续交付是一种将应用程序的构建版本自动部署到测试环境的实践。在持续交付流程中,每次通过CI测试的代码变更都可以自动部署到一个测试环境,使团队能够快速验证新功能、修复和改进。(把代码部署到测试环境)

(3) 持续部署 (CD Continuous Delivery):

将通过 CI 生成的新代码或软件的变更自动部署到生产环境,不需要人工干预。

2、版本交付策略:

(1) 平滑发布:

在发布过程中系统不会因为更新代码而停止服务,不会造成用户短暂的无法访问;

(2) 灰度发布:

灰度发布是一种的策略,先让一小部分用户使用新版本,然后收集用户反馈,再将新版本引入生产环境;

(3) A/B 发布:

A/B 发布是一种将两个或多个不同版本的应用程序同时发布到不同的用户群体中的策略。

二、Jenkins

1、jenkins 概述:

jenkins 是一个开源的自动化服务器和持续集成/持续交付(CI/CD)工具,用于自动化和管理软件项目的构建、测试和部署过程;

jenkins 原名 Hudson,后来成为开源项目;

jenkins 是基于 Java 编写的,它的核心是一个可扩展的插件系统;

jenkins 可在 Tomcat 等流行的 servlet 容器中运行,也可独立运行。

2、jenkins 作用:

① 实现持续集成(CI):jenkins 的主要目标是支持持续集成实践,确保代码更改频繁地集成到共享代码库,自动构建和测试。

② 自动化构建和部署:编译、打包、测试,以及自动化部署到各个环境。

③ 提供灵活性:jenkins 的架构和插件系统为用户提供了广泛的自定义和扩展选项,以适应不同项目和工作流的需求。

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

3、jenkins 环境部署(192.168.198.131,内存4G):

(1) 部署 git:

在 jenkins 中,使用 git 用于管理项目的源代码。

① 安装依赖包:

yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

② 安装 git:

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

make prefix=/usr/local/git all :编译git源码包

make prefix=/usr/local/git install :指定安装目录

③ 修改环境变量:

vim /etc/bashrc

PATH=$PATH:$HOME/bin:/usr/local/git/bin

source /etc/bashrc

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

测试是否安装成功:

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

(2) 部署 jdk(jdk11):

在 jenkins 中,jdk 用于构建和运行 Java 项目。

jdk 官网:Java Downloads | Oracle

① 解压安装:

tar xvzf jdk-11.0.21_linux-x64_bin.tar.gz -C /usr/local/

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

② 修改环境变量:

vim /etc/bashrc

JAVA_HOME=/usr/local/jdk

export PATH=$PATH:$JAVA_HOME/bin

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

(3) 部署 Maven:

在 jenkins 中,Maven 可以自动化项目的构建过程,将源代码编译、测试、打包、发布等步骤整合到一起。

① 下载解压:

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

② 修改环境变量:

vim /etc/bashrc

export M2_HOME=/usr/local/maven

export M2=$M2_HOME/bin

PATH=$M2:$PATH:$HOME/bin:/usr/local/git/bin

export JAVA_HOME=/usr/local/jdk

export PATH

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

(4) 部署 Tomcat:

在 jenkins 部署中,Tomcat 用于部署和运行 Web 应用程序。

① 下载解压:

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

② 修改环境变量:

vim /erc/profile

CATALINA_HOME=/usr/local/tomcat

export CATALINA_HOME

source /etc/profile

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

③ 启动并测试 tomcat:

开启 tomcat:/usr/local/tomcat/bin/startup.sh

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

关闭 tomcat:/usr/local/tomcat/bin/shutdown.sh

(5) 部署 jenkins:

① 在官网选择版本 2.426:

jenkins.war

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

② 将 jenkins.war 拷到 tomcat 的工作目录下:

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

③ 启动 tomcat:

启动 tomcat 后会自动解压 webapps 下的 war 包

/usr/local/tomcat/bin/startup.sh

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

④ 登录 jenkins:

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

管理员默认的初始化密码在 /root/.jenkins/secrets/initialAdminPassword 下

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

选择安装社区推荐的插件:

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

创建用户:

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

访问地址:http://192.168.198.131:8080/jenkins/

4、jenkins 插件管理:

(1) 安装插件:

在 “系统管理” 中选择 “插件管理”,点击 Available plugins,搜索插件名

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

① 安装 Deploy to container:

作用:将 Web 应用程序部署到 Tomcat 容器的开发工具插件。

② 安装 Maven Integration:

作用:jenkins 利用 maven 进行编译,测试,打包。

③ 安装 git 相关插件:

GitHub Authentication

GitHub Branch Source

GitHub Organization Folder(jenkins已配置)

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

④ 安装 Publish Over SSH:

作用:在构建过程中通过 SSH 协议上传或下载文件

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

(2) jenkins 系统设置:

配置 jdk,git,maven 的根目录,在 “系统管理” 中找到 “全局配置工具” 进行修改

① 配置 jdk:

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

② 配置 git:

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

③ 配置 maven:

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

● 配置 maven 镜像:

在 maven 服务器中配置 settings.xml,找到 <mirrors> 配置阿里镜像

/usr/local/maven/conf/settings.xml

<mirror>

        <id>alimaven</id>

        <name>aliyun maven</name>

        <url>https://maven.aliyun.com/repository/public</url>

        <mirrorOf>central</mirrorOf>

</mirror>

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

(3) SSH 设置:

jenkins服务器(192.168.198.131) 与远程 tomcat 服务器(192.168.198.130)通过 ssh 进行连接

① jenkins 准备密钥:

ssh-keygen

ssh-copy-id -i 192.168.198.130

② 在 jenkins 上配置 ssh 信息:

cat ~/.ssh/id_rsa :查看 jenkins服务器(131)的密钥

在 “系统管理” 中找到 “系统配置”,在 “Publish over SSH” 下进行配置

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

5、jenkins 任务:

jenkins 提供管理和监控界面,用于设置和配置构建任务,以及查看构建日志和结果;

maven 的作用是执行构建任务,根据项目的 POM(Project Object Model)文件定义,下载所需的依赖,编译源代码,运行单元测试,打包应用程序等;

GitHub 是代码托管平台,用于存储和管理项目的源代码。

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

(1) 创建任务:

点击 “新建任务”,输入任务名,选择构建 maven 项目

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

(2) 设置 maven:

① 描述:

选择“丢弃旧的构建”:每一次构建都会下载数据包,勾选 "丢弃旧的构建" 可以释放磁盘空间,删除旧的构建数据,从而防止磁盘空间不足。

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

② 选择版本控制器和仓库地址(公有仓库):

https://github.com/bingyue/easy-springmvc-maven

从这个仓库中拉取代码

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

③ 设置构建:

clean package -Dmaven.test.skip=true

这是一个 Maven 命令,用于清理项目残留的旧文件、执行打包过程,并快速构建项目,跳过运行测试阶段。

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

④ 构建后操作:

在 “构建后操作步骤” 中选择:send build artifacts over ssh(通过SSH发送构建工件)

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

● Source files:源文件

在任务构建后,jenkins 服务器上会创建一个 war 包(路径:/root/.jenkins/jobs/job1/builds/target/*.war),Source files 的作用是指明需要传递给远程 tomcat 服务器(tomcat1)的 war 包的位置;

● Remove prefix:删除路径前缀

Remove prefix 与 Source files 配合,只拷贝 war 包,不拷贝整个 target 文件夹下的内容;

● Remote directory:远程服务器文件夹的位置

远程 tomcat 服务器上用来存放源码的位置,需要自行创建;

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

● Exec command:提前写好脚本,在源代码传递过来后,执行该脚本,若成功执行脚本说明源代码拷贝成功

注:此实验旨在进行任务的创建过程,并未对远程 tomcat 服务器真正进行部署

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

(3) 构建任务:

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

在远程 tomcat 服务器上查看脚本是否执行:

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk

war 包已成功拷贝到远程服务器

Jenkins环境部署与任务构建,jenkins,github,maven,tomcat,jdk文章来源地址https://www.toymoban.com/news/detail-743288.html

到了这里,关于Jenkins环境部署与任务构建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 容器部署Jenkins,执行构建任务后,需要执行宿主机上的shell脚本

    遇到的问题:使用docker 部署了一个Jenkins ,Jenkins里执行构建,构建后需要执行宿主机上的shell脚本,这种该如何操作呢。怎么可以退出到宿主机执行shell,最开始挂载了Jenkins_home目录,可以找到shell脚本,但是shell脚本比如cp目录都是对应的宿主机的,在容器里是找不到 步骤一

    2024年02月15日
    浏览(39)
  • jenkins 2.346.1 从git拉取后自动构建部署springboot maven项目

    1、jenkins官网下载 jenkins2.346.1版本(2.346之后不支持java8) Jenkins 的安装和设置 下载的war包通过 java -jar jenkins.war可运行 也可下载安装版本直接安装 http://localhost:8080,端口号8080根据安装时的设定进行对应的变更,安装后需要等待一段时间。 确认发布应用的服务器安装了java g

    2024年02月02日
    浏览(47)
  • 阿里云服务器部署文档(jdk+ nginx + node + git + maven + tomcat + jenkins + mysql + redis等)

    1阿里云服务器网址上开放22端口,443端口和80端口,80端口用来nginx域名映射。 2用命令行工具登录上服务器后,首先开启防火墙,并开放需要的端口。 如果没有开启用这个命令:systemctl start firewalld 3查看系统版本,对随后安装需要的版本有所了解 4安装jdk 一、下载JDK jdk-11.0.18_

    2024年03月20日
    浏览(40)
  • jenkins中maven的安装及配置,如何在jenkins中创建maven任务。

    本文介绍了在jenkins中maven的安装及配置(安装maven及jdk的方法),以及如何在jenkins中创建maven任务。 有三点需要注意的地方。         maven一定要安装在jenkins服务器上。         maven安装之前要先安装jdk。         建任务前,需要有git环境,并配置好用户名密码。 1

    2023年04月17日
    浏览(45)
  • 小白到运维工程师自学之路 第七十九集 (基于Jenkins自动打包并部署Tomcat环境)2

      拉到最后选择构建后操作 拉到最后点击保存   访问192.168.77.19:8080/probe 账户密码都是tomcat  

    2023年08月27日
    浏览(54)
  • 史上最全从0到1搭建最新版本jenkins可持续集成,整合git和maven部署微服务自动构建发版,抓紧收藏起来吧!

    好文推荐: netty搭建websocket集群(高性能.,高并发) springboot 实现延时队列(超级实用) 2.5万字讲解DDD领域驱动设计(史上最全DDD) 传统的软件开发在系统上线的时候需要手动进行,这个过程可能相对繁琐和容易出错,发布过程如下: 代码构建:开发人员在本地环境中编写

    2024年04月13日
    浏览(44)
  • Jenkins构建Maven项目

    Jenkins中自动构建项目的类型有很多,常用的有以下三种: 自由风格软件项目(FreeStyle Project) Maven项目(Maven Project) 流水线项目(Pipeline Project) 每种类型的构建其实都可以完成一样的构建过程与结果,只是在操作方式、灵活度等方面有所区别,在实际开发中可以根据自己

    2024年02月02日
    浏览(53)
  • Jenkins 构建Maven 项目

    Jenkins中自动构建项目的类型有很多,常用的有以下三种: 自由风格软件项目(FreeStyle Project) Maven项目(Maven Project) 流水线项目(Pipeline Project) 每种类型的构建其实都可以完成一样的构建过程与结果,只是在操作方式、灵活度等方面有所区别,在 实际开发中可以根据自己

    2024年02月15日
    浏览(42)
  • 使用Jenkins构建发布一个简单的maven项目

    上一章,完成了jenkins在ubuntu上的安装,这一章将使用单个Jenkins服务完成一个maven项目的打包和发布。 用到的插件有:Maven Integration、Git、Publish Over SSH三个,在Dashboard - Manage Jenkins - Plugins -Available plugins里搜索并安装。 2.1、配置好JDK 在Dashboard - Manage Jenkins - Tools里将JAVA_HOME的目

    2024年02月16日
    浏览(41)
  • tomcat部署jenkins

    Jenkins是一个开源的自动化服务器工具,用于持续集成和持续交付。它能够自动化构建、测试和部署软件项目,提高开发团队的效率和软件质量。 jenkins就是一个整合工具,把代码从git或者其他代码托管平台拉取过来,然后通过脚本语言编写执行流程,达到了项目一键启动的目

    2024年02月03日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包