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 ...
随机推荐
- 使用freemarker生成xml模板
今天在java交流群里有个人问我如何用freemarker生成xml模板文件,可以手动配置参数,于是我到网上百度了一下.发现有一位同行的博文写的很nice,于是我就照着他的代码敲了一遍,最后实现了,本 ...
- [译]聊聊C#中的泛型的使用(新手勿入)
写在前面 今天忙里偷闲在浏览外文的时候看到一篇讲C#中泛型的使用的文章,因此加上本人的理解以及四级没过的英语水平斗胆给大伙进行了翻译,当然在翻译的过程中发现了一些问题,因此也进行了纠正,当然,原文的地 ...
- 解决ionic <ion-nav> rootParams获取不到参数
在使用ion-nav 标签的时候 设置的页面 无法拿到传递的参数 import { Component } from '@angular/core'; import { GettingStartedP ...
- error) DENIED Redis is running in protected mode because protected mode is enabled报错
官网地址:https://redis.io/download 官方安装文档如下: Installation Download, extract and compile Redis with: $ wg ...
- Python快速学习04:循环 & 函数
前言 系列文章:[传送门] 也就今天认识了 LC ,很开心. 本文目录 循环 for while 中断 函数 函数定义 函数调用 for循环 Python 中的for 循环象shell 脚本里的for ...
- SpringCloud学习6-如何创建一个服务消费者consumer
上一节如何创建一个服务提供者provider已经启动了一个provider的server,提供用户信息查询接口.接下来,我们启动另一个provider,由于是同一台机器本地测试,我们换一个端口 --s ...
- Vc数据库编程基础1
Vc数据库编程基础1 一丶数据库 什么是数据库 数据库简单连接就是存储数据的容器. 而库则是一组容器合成的东西. 也就是存储数据的.我们编程中常常会用到数据库. 什么是数据管理系统 数据库管理系统就是 ...
- 【MySQL经典案例分析】关于数据行溢出由浅至深的探讨
本文由云+社区发表 一.从常见的报错说起 故事的开头我们先来看一个常见的sql报错信息: 相信对于这类报错大家一定遇到过很多次了,特别对于OMG这种已内容生产为主要工作核心的BG,在内容线的存 ...
- TCP/IP原理浅析
TCP/IP概述 TCP/IP起源于1969年美国国防部(DOD:The United States Department Of Defense)高级研究项目管理局(APRA:AdvancedRese ...
- kubelet集群网络配置flannel(覆盖网络)
kubernetes本身并不会对跨主机容器的网络进行设置,这需要额外的工具来实现.一些常用的开源工具主要包括flanne.OpenvSwitch.Weave.Calico等,这里面最常用的是flann ...