系统集成Jenkins+git+maven方式

2024-05-26 12:18

本文主要是介绍系统集成Jenkins+git+maven方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

本文是原创持续连载发布,这篇主要是继承(1)的内容,亲手搭建下Jenkins + git + maven 自动化部署。如有文中有书写或部署问题,请留言指导修正,互相交流,共同进步,本人QQ:417213902。

安装文件版本
linux虚拟机CentOS-6.5-x86_64-bin-DVD1.iso
jdkjdk-8u112-linux-x64.tar.gz
tomcatapache-tomcat-7.0.82.tar.gz
mavenapache-maven-3.5.2-bin.tar.gz
gitgit-2.3.0.zip
Jenkins 2.73.2jenkins.war

一、环境搭建

1.1 java运行环境

1.1.1 JDK1.8安装

注意:这个版本的Jenkins必须使用jdk8 or later

  • 第一步,上传,解压# tar –zxvf jdk-8u112-linux-x64.tar.gz
  • 第二步,修改环境变量,在文末增加以下内容,保存生效# vi /etc/profile
JAVA_HOME=/opt/soft/jdk1.8.0_112
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
EXPORT JAVA_HOME
EXPORT PATH
EXPORT CLASSPATH

# source /etc/profile

2.1 tomcat运行环境

2.1.1 tomcat7安装

  • 第一步,解压
    # tar –zxvf apache-tomcat-7.0.82.tar.gz
  • 第二步,测试
    # cd /opt/soft/apache-tomcat-7.0.82/bin
    # sh startup.sh

3.1 maven 环境搭建

3.1.1 maven 安装

  • 第一步,解压
    # tar –zxvf apache-maven-3.5.2-bin.tar.gz
  • 第二步,修改环境变量,在文末增加以下内容,保存生效
    # vi /etc/profile
export M2_HOME=/opt/soft/apache-maven-3.5.2
export M2=$M2_HOME/bin
export PATH=$M2:$PATH

# source /etc/profile

  • 第三步,测试,成功
    mvn -version
注意:maven的默认本地仓库在
# cd /root/.m2/repository
如果想修改,可在maven当前目录下修改conf/config.xml文件,将下面这张图中修改localRepository
# cd $M2_HOME/conf
image.png
image.png

4.1Jenkins 运行

4.1.1 Jenkins运行

  • 第一步,以下两种方式运行
    1、第一种启动方式 :
    java -jar jenkins.war --httpPort=8888
    war中自带jetty服务器,--httpPort指定启动端,口直接启动可以访问
    192.168.1.107:8888
    以这种方式启动是要占用ssh,关闭就无法访问了,所以我把它写成启动脚本,脚本内容如下
    # vim jenkins.sh
#!/bin/sh
# start
/opt/soft/jdk1.8.0_112/bin/java -jar jenkins.war --httpPort=8888

# nohup ./jenkins.sh & 2>&1
采用后台挂起启动方式
2、第二种启动方式 :
将 jenkins.war放进tomcat的webapp下,然后启动tomcat
192.168.1.107:8080/jenkins

  • 第二步打开页面,需要输入密码
    可以查看这个网址有具体说明不同环境下取密码的方式
    https://wiki.jenkins.io/display/JENKINS/Logging
image.png
image.png

此处采用第一种,控制台取密码

image.png
image.png

直接此处密码复制黏贴到输入框即可,
然后选择第一个安装所有或者按需自定义

  • 第三步,等待插件安装完成,Jenkins的运行应该就可以了
image.png
image.png

Jenkins运行完成

问题一:忘记密码
解决方法: # cd /root/.jenkins/users/ 
进入用户,修改config.xml
将 passwordHash 中的密文修改为
#jbcrypt:$2a$10$DdaWzN64JgUtLdvxWIflcuQu2fgrrMSAMabF5TSrGK5nXitqK9ZMS
对应密码是111111
然后保存,启动,登录即可(网上借鉴的)
问题二:jenkins 默认的workspace在哪# cd /root/.jenkins/workspace

5.1 git 安装

5.1.1 git安装

  • 第一步,上传,解压
    # unzip git-2.3.0.zip
  • 第二步,安装git环境依赖
    # sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
  • 第三步,安装 git,将git安装在/opt/soft/git 下
    # make prefix=/opt/soft/git all 若第二步依赖未安装,这步会出错
    # make prefix=/opt/soft/git install
  • 第四步,修改环境变量,在文末增加以下内容,保存生效
    # vi /etc/profile
export PATH=/opt/soft/git/bin:$PATH
  • 第五步,测试,成功
    # git --version

好啦,环境算是搭建好了,是不是很简单,下面才是真正的重点

二、Jenkins应用

2.1Jenkins + maven + git + tomcat 发布配置

  • 第一步,配置全局化参数
    在首页-系统管理-[Global Tool Configuration](右侧菜单)
    (1)全局JDK


    image.png
    image.png

    (2)全局Git
    说明:如果你的代码是在自己搭建的git上管理,那么这里需要配置下;我这里就不配置了,我的代码是在github上管理的


    image.png
    image.png

(3)全局maven(同上)

image.png
image.png
  • 第二步,新建project
image.png
image.png
image.png
image.png
  • 第三步,配置project的基础配置
    (1) 源码管理
image.png
image.png

(2) 构建

image.png
image.png

(3) 构建后操作

说明 ① AR/EAR files : 工作空间,这是一个相对地址,地址为在你的jenkins的project下的完整路径,如:# cd /root/.jenkins/workspace/ + project名称 + 项目war完整路径,这个 【项目war完整路径】就是这里要填写的路径;其中这个路径只有在构建过项目后才会生成,所以第一次看应该是没有的,不要怀疑
② Context path : 为你发布到tomcat下的根目录名称,即 在webapp下的目录名称
③ Credentials :这个证书是tomcat的登录用户密码,这里比较关键,在tomcat 的conf/tomcat-users.xml修改配置如下,增加如下

<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="manager" password="manager" roles="manager-gui,manager-script"/>
<user username="admin" password="admin" roles="admin-gui,manager-gui,manager-script"/>
image.png
image.png

(3) 其他,
好了,如果你把以上步骤做完,完整的自动化部署配置算是已经完成了。当然如果您有更多的需求,可以继续研究下当前配置中的其他项内容,比如利用脚本、定时等等。
(4) 保存,退出,点击【立即构建】

image.png
image.png

出现Deploying........SUCCESS,表示成功,当然如果您是第一次构建,可能会比较慢一点,因为maven需要下载对应的jar,构建本地仓库(#cd /root/.m2/repository/)

image.png
image.png
image.png
image.png

查看tomcat发布控制台

2,2 搭建过程中可能遇到的问题

(1)、忘记Jenkins的登录密码,文中已解答,向上看
(2)、在配置中,构建后操作中下拉没有【Deploy war/ear to a container】,那是因为你的插件没有安装,
你可以到 首页-系统管理-管理插件 搜索,不过建议直接点击高级-上传插件 比较方便,此插件下载地址 https://wiki.jenkins.io/display/JENKINS/Deploy+Plugin
(3)、当你按照以上步骤全部配置好了,去构建项目,看到maven打包成功了,但是deploy不成功,console也不报错,那么有可能是你的 AR/EAR files 工作空间路径不对,向上看
(4)、tomcat7 用户权限不对,向上看
(5)、同时部署多个maven子项目,此问题,还在研究中,希望有志友看到了,能帮忙留言解决下,谢谢啦!!!

未完待续。。。
好了,到此为止,一个最简单的web架构雏形算是完成了!!!
预告,下一版,『逐一解决单点问题』



作者:骑着蚂蚁上因特奈特
链接:http://www.jianshu.com/p/dc812fcc31a5
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

这篇关于系统集成Jenkins+git+maven方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1004442

相关文章

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

用命令行的方式启动.netcore webapi

用命令行的方式启动.netcore web项目 进入指定的项目文件夹,比如我发布后的代码放在下面文件夹中 在此地址栏中输入“cmd”,打开命令提示符,进入到发布代码目录 命令行启动.netcore项目的命令为:  dotnet 项目启动文件.dll --urls="http://*:对外端口" --ip="本机ip" --port=项目内部端口 例: dotnet Imagine.M

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

【即时通讯】轮询方式实现

技术栈 LayUI、jQuery实现前端效果。django4.2、django-ninja实现后端接口。 代码仓 - 后端 代码仓 - 前端 实现功能 首次访问页面并发送消息时需要设置昵称发送内容为空时要提示用户不能发送空消息前端定时获取消息,然后展示在页面上。 效果展示 首次发送需要设置昵称 发送消息与消息展示 提示用户不能发送空消息 后端接口 发送消息 DB = []@ro

Maven创建项目中的groupId, artifactId, 和 version的意思

文章目录 groupIdartifactIdversionname groupId 定义:groupId 是 Maven 项目坐标的第一个部分,它通常表示项目的组织或公司的域名反转写法。例如,如果你为公司 example.com 开发软件,groupId 可能是 com.example。作用:groupId 被用来组织和分组相关的 Maven artifacts,这样可以避免