②Jenkins集成—集成构建部署
之前的博文介绍了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集成—集成构建部署的更多相关文章
- Jenkins安装与构建部署
Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:1.持续的软件版本发布 ...
- Docker+Rancher构建部署流水线
工作多年,在项目部署方面, 1:以前用ftp或者rz上传更新的,每次更新算上打包.目录切换.更新遗漏.备份.出错还原.启动等工作都得搞上一来小时甚至更长,要是多两台服务器那心都凉了: 2:后来有用sv ...
- 构建Docker+Jenkins持续集成环境
docker和Jenkins不是什么新东西了,两者结合也不是什么稀奇的事情,也已经有很多Jenkins和docker相结合的文章,此文仅为自己的一点心得实践,如有不对的地方,欢迎大家纠正. 先贴上大致 ...
- Jenkins+Maven+Git搭建持续集成和自动化部署的配置手记
前言 持续集成这个概念已经成为软件开发的主流,可以更频繁的进行测试,尽早发现问题并提示.自动化部署就更不用说了,可以加快部署速度,并可以有效减少人为操作的失误.之前一直没有把这个做起来,最近的新 ...
- 使用Docker构建持续集成与自动部署的Docker集群
为什么使用Docker " 从我个人使用的角度讲的话 部署来的更方便 只要构建过一次环境 推送到镜像仓库 迁移起来也是分分钟的事情 虚拟化让集群的管理和控制部署都更方便 hub.docke ...
- windows部署jenkins持续集成maven测试项目不能访问测试报告
买了一台阿里云的服务器用于练习maven test项目,系统版本wiondows server 2012,将jenkins war包部署在Tomcat服务器上,项目构建后,生成的报告在C:\Windo ...
- Linux-GitLab+Jenkins持续集成+自动化部署
GitLab+Jenkins持续集成+自动化部署 什么是持续集成? (1)Continuous integration (CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个 ...
- Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(三):搭建jenkins集群环境
写在前面 大家可以看到本文的配图,左边是jenkins单机环境,右边是jenkins集群.个中区别,不言而喻,形象生动. 前面我分别介绍了.net core 程序的多种部署方式(无绝对孰优孰劣): 1 ...
- Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(二):部署
前面又是废话 我之前写过: Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署 Asp.Net Core 程序部署到Linux(centos)生产环境(二):doc ...
- Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(一):Jenkins安装
2019/1/31更新,经过我一段时间的使用 建议大家的jenkins还是不要使用docker方式安装 建议大家的jenkins还是不要使用docker方式安装 建议大家的jenkins还是不要使用d ...
随机推荐
- Horizon代码的层次结构
Horizon中包含多个dashboard,每个dashboard又包含多个panel,每个panel有可以包含多个Tab.
- sysctl.conf文件详解
本文转自:http://www.cnblogs.com/Rosanna/p/3446557.html 使文件立刻生效命令:/sbin/sysctl -p /proc/sys目录下存放着大多数内核参数, ...
- mysql 触发器 trigger用法 one (简单的)
实例~~ example1: 创建表tab1 1 2 3 4 DROP TABLE IF EXISTS tab1; CREATE TABLE tab1( tab1_id varchar(11) ...
- 升级 Jenkins 从 1.56 到 2.64
今天上午小伙伴突然发现 git 的 Credential 出错了,同时页面的保存按钮也找不到.折腾了半天没有头绪,干脆升级到最新的版本吧,毕竟也很久没升级了. 从 1.x 到 2.x 有很多改动,为了 ...
- UVA 12338 Anti-Rhyme Pairs(hash + 二分)题解
题意:给出两个字符串的最大相同前缀. 思路:hash是要hash,不hash是不可能的.hash完之后从头遍历判断超时然后陷入沉默,然后告诉我这能二分orz,二分完就过了,写二分条件写了半天.不要用数 ...
- Ubuntu 安装 Telnet
参考:在 ubuntu 上安裝 telnet service 1.安装: sudo apt-get install xinetd telnetd 2.修改inetd.conf: vim /etc/in ...
- UVa 11889 最小公倍数
https://vjudge.net/problem/UVA-11889 题意: 输入两个整数A和C,求最小的整数B使得lcm(A,B)=C. 思路: 首先C是A的公倍数,如果C%A不为0肯定是无解的 ...
- Memento(备忘录)
意图: 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存的状态. 适用性: 必须保存一个对象在某一个时刻的(部分)状态, 这样以后需要时它 ...
- 农历03__ZC
代码,改自 农历01(http://www.cnblogs.com/cppskill/p/5930558.html) 1.main.cpp #include "Lunar_ZC.h" ...
- 【Python】解决测试依赖之 Mock模块的基本使用
什么是mock? Mock,顾名思义,模拟,在我们日常生活中或者影视作品中见得最多的可能就是预备飞行员的模拟训练,印象比较深的是电影<萨利机长>中的模拟器,经过几千次模拟,人们得出机长萨利 ...