之前的博文介绍了Jenkins的入门安装,本文主要介绍如何使用jenkins进行git项目的集成构建与部署

1、首先进行全局工具配置

查看下本机的jdk、maven、git安装路径

echo $PATH

全局工具配置:系统管理->全局工具配置

JDK与Git环境配置

配置Ant与Maven环境,并保存应用

2、安装maven项目需要的插件:系统管理->插件管理

  Maven Integration plugin
SSH
Deploy to container Plugin 

maven集成插件:构建maven项目要用到的插件

shell插件:搜索ssh 选择ssh plugin插件安装即可。 

GitLab插件:从git网址拉取代码的插件 

容器部署插件:可以允许构建完之后可以进行项目的部署

3、新建一个maven的构建项目

3.1点击新建任务

输入描述,设置丢弃旧的构建 

如果出现以下报错,是因为存储不够,内存满了,

可以通过一、设置丢弃旧策略 二、将存储移动到存储容量大的盘

把默认目录/root/.jenkins,更改到其他大目录或者磁盘中。 我的是在centos中安装的,我把默认目录转移到 /home/jenkins/jenkinsWork/中

cp -r /root/.jenkins /home/jenkins/jenkinsWork/

更改目录所属用户

chown –R root /home/jenkins/jenkinsWork/

接着执行以下命令,更改jenkins存储目录

DAEMON_ARGS="--name=$NAME --inherit --env=JENKINS_HOME=/home/jenkins/jenkinsWork/ --output=$JENKINS_LOG --pidfile=$PIDFILE"

最后重启jenkins

其他情况可以参考博文:https://blog.csdn.net/ling811/article/details/74991899

3.2源码管理配置

本文使用的源码来自git,输入git的url,添加登录凭证,选择代码分支

凭证的添加,可以通过凭据,然后点击添加凭证进行相关凭证的添加:

 3.3构建触发器,可以设置触发构建的时间策略

定时脚本可参考

https://blog.csdn.net/zzy1078689276/article/details/77520441

如果选择提交代码就出发构建

要到git上面具体的setting新增Webhooks,如图

3.4 maven构建之前,maven构建配置,maven构建后的操作步骤

3.5 项目构建后的操作。本文主要介绍,如何将项目部署到服务器的容器上 

进入到tomcat下的conf目录,修改vim tomcat-users.xml文件,新增以下配置,如图所示:

 <role rolename="manager-gui"/>
<role rolename="manager-status"/>
<role rolename="manager-jmx"/>
<role rolename="manager-script"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-status,manager-jmx,manager-script,admin-gui,admin-script"/>

在全局凭证那,新增凭证。至此该配置的都配置好了,

3.6接着我们开始构建项目

红色为失败,蓝色为成功,可以点击具体的构建项目,然后通过控制台查看具体报错

比如本文的报错,估摸者是服务器没启动,启动tomcat重新试下

进入tomcat的bin目录./catalina start & 启动tomcat,然后重新试下,地址栏输入项目具体地址:

http://118.24.48.158:9080/testJenkins/index.jsp

效果如图:

②Jenkins集成—集成构建部署的更多相关文章

  1. Jenkins安装与构建部署

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

  2. Docker+Rancher构建部署流水线

    工作多年,在项目部署方面, 1:以前用ftp或者rz上传更新的,每次更新算上打包.目录切换.更新遗漏.备份.出错还原.启动等工作都得搞上一来小时甚至更长,要是多两台服务器那心都凉了: 2:后来有用sv ...

  3. 构建Docker+Jenkins持续集成环境

    docker和Jenkins不是什么新东西了,两者结合也不是什么稀奇的事情,也已经有很多Jenkins和docker相结合的文章,此文仅为自己的一点心得实践,如有不对的地方,欢迎大家纠正. 先贴上大致 ...

  4. Jenkins+Maven+Git搭建持续集成和自动化部署的配置手记

    前言    持续集成这个概念已经成为软件开发的主流,可以更频繁的进行测试,尽早发现问题并提示.自动化部署就更不用说了,可以加快部署速度,并可以有效减少人为操作的失误.之前一直没有把这个做起来,最近的新 ...

  5. 使用Docker构建持续集成与自动部署的Docker集群

    为什么使用Docker " 从我个人使用的角度讲的话  部署来的更方便 只要构建过一次环境 推送到镜像仓库 迁移起来也是分分钟的事情 虚拟化让集群的管理和控制部署都更方便 hub.docke ...

  6. windows部署jenkins持续集成maven测试项目不能访问测试报告

    买了一台阿里云的服务器用于练习maven test项目,系统版本wiondows server 2012,将jenkins war包部署在Tomcat服务器上,项目构建后,生成的报告在C:\Windo ...

  7. Linux-GitLab+Jenkins持续集成+自动化部署

    GitLab+Jenkins持续集成+自动化部署 什么是持续集成? (1)Continuous integration (CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个 ...

  8. Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(三):搭建jenkins集群环境

    写在前面 大家可以看到本文的配图,左边是jenkins单机环境,右边是jenkins集群.个中区别,不言而喻,形象生动. 前面我分别介绍了.net core 程序的多种部署方式(无绝对孰优孰劣): 1 ...

  9. Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(二):部署

    前面又是废话 我之前写过: Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署 Asp.Net Core 程序部署到Linux(centos)生产环境(二):doc ...

  10. Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(一):Jenkins安装

    2019/1/31更新,经过我一段时间的使用 建议大家的jenkins还是不要使用docker方式安装 建议大家的jenkins还是不要使用docker方式安装 建议大家的jenkins还是不要使用d ...

随机推荐

  1. iframe 跨域问题解决方案 利用window.name+iframe跨域获取数据详解

    详解 前文提到用jsonp的方式来跨域获取数据,本文为大家介绍下如何利用window.name+iframe跨域获取数据. 首先我们要简单了解下window.name和iframe的相关知识.ifra ...

  2. 【运维技术】Zookeeper单机以及集群搭建教程

    Zookeeper单机以及集群搭建教程 单机搭建 单机安装以及启动 安装zookeeper的前提是必须有java环境 # 选择目录进行下载安装 cd /app # 下载zk,可以去官方网站下载,自己上 ...

  3. 关于Redis命令keys在性能方面的说明

    redis的keys命令类似于Mysql的like命令,无非就是模糊匹配相近的字符数据. KEYS 的速度非常快,但在一个大的数据库中使用它仍然可能造成性能问题,如果你需要从一个数据集中查找特定的 k ...

  4. 20145219《网络对抗》Web安全基础实践

    20145219<网络对抗>Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL ...

  5. sqlite3 shell方向键、浏览历史命令不能用的问题

    在sqlite3 shell下,按上下方向键可以浏览历史命令,按左右方向键则可以将光标移动到命令中任意字符位置,从而可以修改错误的语句或误敲的字符.所以方向键是sqlite3 shell下最常用的功能 ...

  6. python 字典获取最大和最小的value

    my_dict = {, , } key_max = max(my_dict.keys(), key=(lambda k: my_dict[k])) key_min = min(my_dict.key ...

  7. [原][osgearth]osgearthviewer读取earth文件,代码解析(earth文件读取的一帧)

    跑osgearthviewer程序 使用一个earth文件做参数传入 跟进代码. 首先osgearthviewer程序加载earth的方式分为两种: 1.根据earth文件(load方式) 2.使用S ...

  8. Java网络编程和NIO详解6:Linux epoll实现原理详解

    Java网络编程和NIO详解6:Linux epoll实现原理详解 本系列文章首发于我的个人博客:https://h2pl.github.io/ 欢迎阅览我的CSDN专栏:Java网络编程和NIO h ...

  9. 兼容360模式自动播放视频【需要flvpalyer.swf】

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://down ...

  10. ssh隧道(通过跳板机)连接mysql

    案例: A服务器   B服务器   C服务器mysql 现在mysql服务器C只能通过内网访问,B服务器就能通过内网连接访问到mysql A服务器无法直接连接C服务器mysql,所以要通过跳板机(跳板 ...