centos下准备工作:

1.安装jdk环境

2.安装maven环境(用于构建项目)

3.git客户端(用于拉取源码)

此外码云还要准备一份java源码(springboot项目)

一、安装jenkins(演示版本为2.141):

官方下载jenkins的war包程序,上传至centos系统,如下:

然后执行命令,设置端口9000,运行jenkins

nohup java -jar jenkins.war --httpPort=9000 >temp.txt &

temp.txt为日志文件。

启动完成后,浏览器访问 http://ip:9000/,首次访问需要输入我们在日志中拿到的密码,如下图:

下一步,直接选择安装默认插件:

完成之后到首页如下:

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

1.maven settings.xml 配置

2.jdk配置:

3.Git配置

4.maven配置

保存即可

点击首页的新建任务,如下:

只要实现提交代码后手动构建部署项目,所以只需要设置如下两项即可:

点击add输入码云的账号密码:

确认自己项目war或jar名称已经jenkins构建后的目录(~/.jenkins/workspace/xxx/target/) ~ 指的是当前用户目录

我的项目源码打包后名称为 file-manage-0.0.1-SNAPSHOT.war 构建后目录为:~/.jenkins/workspace/file-manage/target/

准备目录:

所涉及的脚本命令如下:

#!/bin/bash -ile
cd /deploy_cmp_script
echo "Execute shell Start"
sh stop.sh
sh replace.sh
echo "Execute shell Finish"
chmod /deploy_cmp_script/startup.sh
BUILD_ID=dontKillMe
sh /deploy_cmp_script/startup.sh

stop.sh:

#!/bin/bash -ile
cd /deploy_cmp_script/
echo "Stopping SpringBoot Application for CMP"
ls
pid=`ps -ef | grep file-manage-0.0.-SNAPSHOT.war | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
echo "kill -9 的pid:" $pid
kill - $pid
fi

replace.sh:

#!/bin/bash -ile
jar_name=file-manage-0.0.-SNAPSHOT.war
file_path=~/.jenkins/workspace/file-manage/target/
file="/deploy_cmp/file-manage-0.0.1-SNAPSHOT.war"
if [ -f "$file" ]
then
mv /deploy_cmp/file-manage-0.0.-SNAPSHOT.war /deploy_cmp_backup/file-manage-0.0.-SNAPSHOT.war.`date +%Y%m%d%H%M%S`
fi
cp ~/.jenkins/workspace/file-manage/target/file-manage-0.0.-SNAPSHOT.war /deploy_cmp

startup.sh:

#!/bin/bash -ile
echo "授予当前用户权限"
chmod /deploy_cmp/file-manage-0.0.-SNAPSHOT.war
echo "执行....."
cd /deploy_cmp
nohup java -jar file-manage-0.0.-SNAPSHOT.war >temp.txt &
echo "**********************cmp on jenkins started*************************"

然后jenkins页面点击保存,立即构建,点击:

查看构建日志

linux-centos下持续集成工具jenkins部署使用教程的更多相关文章

  1. Android持续集成之Jenkins 部署

    Android持续集成之Jenkins 部署 [TOC] 0x00安装 准备工作如下: Tomcat8.5下载地址 Jenkins下载链接 1 将下载的jenkins.war包放至tomcat下的we ...

  2. 持续集成工具Jenkins安装、部署、使用

    本文介绍jenkins,利用其做项目发布与持续集成交付工具. 一.Jenkins是什么? Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1.持续的软件版本发布 ...

  3. 持续集成工具jenkins的使用

    jenkins类似于Hadson,是一款持续集成工具.使用jenkins完成自动化部署的表现为:当开发人员向版本库提交新的代码后,应用服务器上自动部署,用户或测试人员使用的马上就是最新的应用程序.搭建 ...

  4. 轻松搭建持续集成工具jenkins

    1.Jenkins介绍1)什么是持续集成随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软 ...

  5. 持续集成工具——Jenkins

    一.jenkins简介 1.持续集成工具 2.基于JAVA环境 二.环境搭建 1.安装JDK 2.安装配置git 3.安装配置tomcat Tomcat是针对Java的一个开源中间件服务器(容器),基 ...

  6. 持续集成工具Jenkins学习总结

    概述 持续集成(Continuous Integration,简称CI)是一种软件开发实践,团队开发人员每次都通过自动化的构建(编译.发布.自动化测试)来验证,从而尽早的发现集成错误.持续集成最大的优 ...

  7. 持续集成工具-Jenkins 使用介绍

    Jenkins 是一个可扩展的持续集成引擎,可以为我们提供代码自动编译.打包和发布工作,减少部署成本. 一.安装与启动 Jenkins 提供了多种便捷的安装方式,比较推荐使用执行 war 包的方式. ...

  8. 【Gerrit】持续集成工具Jenkins的安装配置与使用过程中遇到的问题整理

    1.下载war包 https://jenkins.io/download/ 2.安装 java -jar jenkins.war Error: Feb 21, 2019 2:17:25 AM wins ...

  9. Linux环境:持续集成环境部署系列

    之前的博客介绍了Linux环境下持续集成环境部署的一些内容,这篇博客将其整理一下,算做一个index,方便自己和大家查阅... 1.linux下安装JDK Jenkins是一个java开源的持续集成工 ...

随机推荐

  1. 潭州课堂25班:Ph201805201 爬虫基础 第七课 Python与常见加密方式 (课堂笔记)

    打开图形界面  18版 Python与常见加密方式 前言 我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes. 所以当我们在Python中进行加密操作的时 ...

  2. mogodb排序

    db.getClloection('user').find().sort({'age':-1}).pretty() 2.自然排序,也就是插入的先后顺序 db.getClloection('user') ...

  3. 晚期(运行期)优化---HotSpot虚拟机内的即时编译器

    最初java程序是通过解释器进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认定为“热点代码”.为了提高热点代码的执行效率,在运行时,虚拟机将会把这些代码编译成与本地平台相 ...

  4. win7 64位系统彻底卸载mysql

    一.在控制面板中卸载mysql软件,卸载后删除mysql安装目录下的所有文件 二.windows+R运行“regedit”文件,打开注册表 三.删除注册表:HKEY_LOCAL_MACHINE\SYS ...

  5. 数据结构C语言版--单链表的基本功能实现

    /* * 构造一个链式存储的线性表(当输入9999时,结束构造过程),然后输出该线性表 * 并统计该线性链表的长度 . *注:new和delete是C++的运算符 malloc和free是C++/C的 ...

  6. How to change the implementation (detour) of an externally declared function

    原文地址:http://stackoverflow.com/questions/6905287/how-to-change-the-implementation-detour-of-an-extern ...

  7. mysql 时间类型精确到毫秒、微秒及其处理

    一.MySQL 获得毫秒.微秒及对毫秒.微秒的处理 MySQL 较新的版本中(MySQL 6.0.5),也还没有产生微秒的函数,now() 只能精确到秒. MySQL 中也没有存储带有毫秒.微秒的日期 ...

  8. 《西部世界》S2E9:蝶化庄周,浮生若梦

    原以为第九集能解开本季大半的疑惑,结果还是被骗了……看来<西部世界>铁了心要把主要秘密都放在大结局里揭晓,大家就再等一周吧. 尽管如此,本集还是说清了不少谜团:比如威廉和格蕾丝的真实身份, ...

  9. facebook's HipHop for PHP: Move Fast

    One of the key values at Facebook is to move fast. For the past six years, we have been able to acco ...

  10. android之官方导航栏ActionBar(三)之高仿优酷首页

    一.问题概述 通过上两篇文章,我们对如何使用ActionBar大致都已经有了认识.在实际应用中,我们更多的是定制ActionBar,那么就需要我们重写或者定义一些样式来修饰ActionBar,来满足具 ...