JAVA项目从运维部署到项目开发(一.Jenkins)
一、Jenkins的介绍
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,
旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
二、功能
Jenkins功能包括:1、持续的软件版本发布/测试项目。2、监控外部调用执行的工作。
三、安装及启动
首先保证系统中已经安装了jdk。
启动方法一.
切换到jenkins.war(V2.121.1)存放的目录,输入如下命令:java -jar jenkins.war
如果需要修改端口可以使用如下命: java -jar jenkins.war--httpPort=8081
然后在浏览器中打开链接 localhost:8080/jenkins
2.将jenkins.war文件放入tomcat下的webapps目录下
3.进入tomcat下的/bin目录(cd /thirdparties/apache-tomcat-backend/bin),启动tomcat:sh startup.sh
The file is absent or does not have execute permission
This file is needed to run this program
则输入:chmod 777 *.sh

安装SSH插件:系统管理->管理插件->可选插件
SSH过滤->SSH直接安装


用户名:admin 密码:admin
如果要修改密码:
vim /Users/abel/.jenkins/users/admin/config.xml
改为:<passwordHash>#jbcrypt:$2a$10$ohx6TGUxd9cBuswQ9kFH2OOyTZX8wg1E1EIikbpwfbNj4qF7yeysK</passwordHash>
重新启动jenkins,新密码为:admin
至此jenkins部署成功,如果报:反向代理设置有误

反向代理报错解决方法:打开系统管理-->系统设置-->Jenkins URL
将localhost改为127.0.0.1,Jenkins URL:http://127.0.0.1:8088/jenkins/

附:https://wiki.jenkins.io/display/JENKINS/Jenkins+says+my+reverse+proxy+setup+is+broken
UTF-8编码问题解决办法:
<Connector connectionTimeout="20000" port="8088" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8" />
四、配置
系统管理->系统设置
1.SSH remote hosts

2.Jenkins Location

五、项目部署
1.项目描述及环境配置

2.源码管理

${BRANCH}
3.构建

mvn clean package -Dmaven.test.skip -U -P${ENV}
echo ${WORKSPACE}
echo ${JOB_NAME}
echo ${BUILD_ID}
timeStamp=`date +%Y-%m-%d`
echo $timeStamp
mkdir -p /thirdparties/jenkins/apache-tomcat/webapps/docs/build/${JOB_NAME}/$timeStamp@${BUILD_NUMBER}
mv ${WORKSPACE}/backendrpc/target/backendrpc-bin.zip /thirdparties/jenkins/apache-tomcat/webapps/docs/build/${JOB_NAME}/$timeStamp@${BUILD_NUMBER}
mv ${WORKSPACE}/backendrest/target/backendrest.war /thirdparties/jenkins/apache-tomcat/webapps/docs/build/${JOB_NAME}/$timeStamp@${BUILD_NUMBER}

/apps/unpacking_dynamic.sh ${JOB_NAME} ${BUILD_NUMBER}
unpacking_dynamic.sh 文件代码为:
echo $ $
timeStamp=`date +%Y-%m-%d`
echo $timeStamp@$ cd /apps/
wget http://172.16.133.65:8090/docs/build/$1/$timeStamp@$2/backendrest.war -nH -r -N -nv
wget http://172.16.133.65:8090/docs/build/$1/$timeStamp@$2/backendrpc-bin.zip -nH -r -N -nv
ps aux |grep java |grep apache-tomcat-common |grep -v grep |grep -v tail |awk '{print $2}' |xargs kill - echo "stop backendrpc..."
ps aux |grep java |grep backendrpc |grep -v grep |grep -v tail |awk '{print $2}' |xargs kill
sleep
cd /apps/
rm -rf backendrest/
rm -rf backendrpc/
unzip -qo ./docs/build/$/$timeStamp@$/backendrest.war -d backendrest
unzip -q ./docs/build/$/$timeStamp@$/backendrpc-bin.zip source /etc/profile cd ./backendrpc/sh
chmod start.sh
./start.sh conf1 sleep
/thirdparties/apache-tomcat-common-/bin/startup.sh
sleep
至此,Jenkins的安装配置及通过Jenkins部署项目的介绍告一段落。
附:
https://blog.csdn.net/qq_26848099/article/details/78901240
https://www.yiibai.com/jenkins/jenkins_setup_build_jobs.html#article-start
JAVA项目从运维部署到项目开发(一.Jenkins)的更多相关文章
- JAVA项目从运维部署到项目开发(五. Nginx)
<Nginx与Nginx-rtmp-module搭建RTMP视频直播和点播服务器>一文简单介绍了关于直播数据流的nginx相关配置,下面简单介绍下各种项目如何配置nginx. web项目. ...
- JAVA项目从运维部署到项目开发(六. Jenkins之静态页面)
用Git托管静态页面代码,通过Jenkins部署静态页面,是再方便不过的了.本文将介绍如何通过Jenkins部署最新的静态页面代码. 一.Jenkins的配置 1.设置项目名称.参数(环境.分支)等 ...
- JAVA项目从运维部署到项目开发(四. Tomcat)
一.关于中文乱码问题 文件目录:/conf/server.xml 将相关语句改为: <Connector port="8008" protocol="HTTP/1. ...
- JAVA项目从运维部署到项目开发(三.Redis)
一.Redis的介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.它通常被称为数据结构服务器,因为值(va ...
- JAVA项目从运维部署到项目开发(二.ZooKeeper)
一.zookeeper的相关介绍 点击查看 二.下载.安装与配置 1.ZooKeeper官网下载地址(点击跳转),当前稳定版本为V3.4.12.Liniux下可以在指定目录,使用wget命令下载. h ...
- Linux运维企业架构项目实战系列
Linux运维企业架构项目实战系列 项目实战1—LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2—LVS.nginx实现负载均衡系列2.1 项目实战2.1—实现基于LVS负载均衡集群 ...
- [原创]上海好买基金招高级Java技术经理/运维主管/高级无线客户端开发等职位(内推)
[原创]上海好买基金招高级Java技术经理/运维主管/高级无线客户端开发等职位(内推) 内部推荐职位 高级JAVA技术经理: 岗位职责: 负责项目管理(技术方向),按照产品开发流 ,带领研发团队,制定 ...
- 阿里云运维部署工具AppDeploy详细教程
AppDeploy是一个通过SSH实现的命令行工具,可完成应用部署和远程运维管理.当前工具实现为两个版本:普通版(伪代码描述语言)和Python版.Python版使用Python语法规则,可实现您的各 ...
- spring-boot-plus运维部署(八)
spring-boot-plus运维部署 线上部署 打包环境为prod mvn clean package -Pprod 打包后的目录 cd target/spring-boot-plus-1.2.0 ...
随机推荐
- Net Core平台灵活简单的日志记录框架NLog+SqlServer初体验
Net Core平台灵活简单的日志记录框架NLog+SqlServer初体验 前几天分享的"[Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验][http://www ...
- hibernate框架(1)---Hibernate增删改查
Hibernate增删改查 1.首先我们要知道什么是Hibernate Hibernate是一个轻量级的ORMapping对象.主要用来实现Java和数据库表之间的映射,除此之外还提供数据查询和数据获 ...
- git 下载部分目录
需求 github上整个工厂比较大,下起来费劲,如何只下载一个单独的文件件呢? 方法一 以:https://github.com/eugenp/tutorials为例,下载其中的 spring-kaf ...
- 无需操作系统直接运行 Python 代码
Josh Triplett以一个“笑点”开始了他在PyCon 2015上的演讲:移植Python使其无需操作系统运行:他和他的英特尔同事让解释器能够在GRUB引导程序.BIOS或EFI系统上运行.连演 ...
- Python下用Scrapy和MongoDB构建爬虫系统(1)
本文由 伯乐在线 - 木羊 翻译,xianhu 校稿.未经许可,禁止转载!英文出处:realpython.com.欢迎加入翻译小组. 这篇文章将根据真实的兼职需求编写一个爬虫,用户想要一个Python ...
- Go 包依赖管理工具 —— govendor
govendor 是一个基于 vendor 机制实现的 Go 包依赖管理命令行工具.与原生 vendor 无侵入性融合,也支持从其他依赖管理工具迁移,可以很方便的实现同一个包在不同项目中不同版本.以及 ...
- shell高效处理文本(1):xargs并行处理
xargs具有并行处理的能力,在处理大文件时,如果应用得当,将大幅提升效率. xargs详细内容(全网最详细):https://www.cnblogs.com/f-ck-need-u/p/592592 ...
- C# 显式转换关键字 explicit
不同于隐式转换,显式转换运算符必须通过转换的方式来调用. 如果转换操作会导致异常或丢失信息,则应将其标记为 explicit. 这可阻止编译器静默调用可能产生意外后果的转换操作. 省略转换将导致编译时 ...
- 关于Newtonsoft.Json,LINQ to JSON的一个小demo
nuget获取Newtonsoft.Json github地址:Newtonsoft.Json public static void Test1() { /* 文本格式如下 代码实现目的: 1.VR ...
- ECharts中color : function的用法(转)
ECharts图表实战经验1:如何设置图表同序列不同数据点的独立颜色值 最近有不少朋友在追问这样一个问题:我单序列的柱状图,我想让每一个根柱子的颜色都不一样,应该如何做? 针对这个问题,其实我只想 ...