一、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

  启动方法二.

    1.解压tomcat (V9.0.8)到某个目录,如/thirdparties/jenkins-tomcat

    2.将jenkins.war文件放入tomcat下的webapps目录下

    3.进入tomcat下的/bin目录(cd /thirdparties/apache-tomcat-backend/bin),启动tomcat:sh startup.sh

    启动tomcat时,会自动在webapps目录下建立jenkins目录,在地址栏上需要输入localhost:8080/jenkins即可访问。
    如果报:

        The file is absent or does not have execute permission

        This file is needed to run this program

    则输入:chmod 777 *.sh

    4.安装时按要求操作:输入密码->安装插件->创建用户

 

安装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)的更多相关文章

  1. JAVA项目从运维部署到项目开发(五. Nginx)

    <Nginx与Nginx-rtmp-module搭建RTMP视频直播和点播服务器>一文简单介绍了关于直播数据流的nginx相关配置,下面简单介绍下各种项目如何配置nginx. web项目. ...

  2. JAVA项目从运维部署到项目开发(六. Jenkins之静态页面)

    用Git托管静态页面代码,通过Jenkins部署静态页面,是再方便不过的了.本文将介绍如何通过Jenkins部署最新的静态页面代码. 一.Jenkins的配置 1.设置项目名称.参数(环境.分支)等 ...

  3. JAVA项目从运维部署到项目开发(四. Tomcat)

    一.关于中文乱码问题 文件目录:/conf/server.xml 将相关语句改为: <Connector port="8008" protocol="HTTP/1. ...

  4. JAVA项目从运维部署到项目开发(三.Redis)

    一.Redis的介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.它通常被称为数据结构服务器,因为值(va ...

  5. JAVA项目从运维部署到项目开发(二.ZooKeeper)

    一.zookeeper的相关介绍 点击查看 二.下载.安装与配置 1.ZooKeeper官网下载地址(点击跳转),当前稳定版本为V3.4.12.Liniux下可以在指定目录,使用wget命令下载. h ...

  6. Linux运维企业架构项目实战系列

    Linux运维企业架构项目实战系列 项目实战1—LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2—LVS.nginx实现负载均衡系列2.1 项目实战2.1—实现基于LVS负载均衡集群 ...

  7. [原创]上海好买基金招高级Java技术经理/运维主管/高级无线客户端开发等职位(内推)

    [原创]上海好买基金招高级Java技术经理/运维主管/高级无线客户端开发等职位(内推) 内部推荐职位 高级JAVA技术经理: 岗位职责: 负责项目管理(技术方向),按照产品开发流 ,带领研发团队,制定 ...

  8. 阿里云运维部署工具AppDeploy详细教程

    AppDeploy是一个通过SSH实现的命令行工具,可完成应用部署和远程运维管理.当前工具实现为两个版本:普通版(伪代码描述语言)和Python版.Python版使用Python语法规则,可实现您的各 ...

  9. spring-boot-plus运维部署(八)

    spring-boot-plus运维部署 线上部署 打包环境为prod mvn clean package -Pprod 打包后的目录 cd target/spring-boot-plus-1.2.0 ...

随机推荐

  1. Android UI(三)SlidingMenu实现滑动菜单(详细 官方)

    Jeff Lee blog:   http://www.cnblogs.com/Alandre/  (泥沙砖瓦浆木匠),retain the url when reproduced ! Thanks ...

  2. leetcode — set-matrix-zeroes

    import java.util.Arrays; /** * Source : https://oj.leetcode.com/problems/set-matrix-zeroes/ * * * Gi ...

  3. [总结] 动态DP学习笔记

    学习了一下动态DP 问题的来源: 给定一棵 \(n\) 个节点的树,点有点权,有 \(m\) 次修改单点点权的操作,回答每次操作之后的最大带权独立集大小. 首先一个显然的 \(O(nm)\) 的做法就 ...

  4. Perl回调函数和闭包

    在Perl中,子程序的引用常用来做回调函数(callback).闭包(closure),特别是匿名子程序. 回调函数(callback) 关于什么是回调函数,见一文搞懂:词法作用域.动态作用域.回调函 ...

  5. html5入门:教你用canvas写一个时钟

    今天的时间比较充裕,心血来潮,为大家分享一个html5的小例子,希望对刚学html5或者是没学html5正准备学的“童鞋们”展示一个小案例,希望对你们的学习有帮助!高手嘛!请跳过吧! 好了,闲话少数, ...

  6. python同步、互斥锁、死锁

    目录 同步 同步的概念 解决线程同时修改全局变量的方式 互斥锁 使用互斥锁完成2个线程对同一个全局变量各加9999999 次的操作 上锁解锁过程 总结 死锁 避免死锁 同步 同步的概念 同步就是协同步 ...

  7. Retrofit2 原理解析

    Retrofit是什么 官网介绍是A type-safe HTTP client for Android and Java,是一个 RESTful 的 HTTP 网络请求框架的封装,但网络请求不是Re ...

  8. 2018年最值得关注的30个Vue开源项目

    译者按: 学习优秀的开源项目是提高代码水平最有效的方式. 原文: 30 Amazing Vue.js Open Source Projects for the Past Year (v.2018) 译 ...

  9. crontab清理日志

    1.日志介绍 2.日志清理  (以下达到清理效果) du -sh * //查看日志大小 * 1 * * * cat /dev/null > /var/log/message 解释/dev/nul ...

  10. jquery网页日历显示控件calendar3.1使用详解

    关于日历插件,我做了好多次尝试,一直致力于开发一款简单易用的日历控件.我的想法是争取在引用这个控件后,用一行js代码就能做出一个日历,若在加点参数,就能自定义外观和功能丰富多彩的日历.Calendar ...