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. Java并发程序设计(十)设计模式与并发之Future模式

    设计模式与并发之Future模式 核心思想:异步调用. /** * @author: Tang Jiujia * @version: 2017/9/18 0018 15:22 */ public in ...

  2. 喵哈哈村的魔法考试 Round #8 (Div.2) 题解

    喵哈哈村的美食面馆 签到题,就不停的if就好了. #include<bits/stdc++.h> using namespace std; string name[5]={"ni ...

  3. shutdown vs close

    shutdown 和 close关闭tcp连接的介绍网上有很多,主要区别如下: 1.调用close后,将中止通信.删除套接字.丢弃数据.但是,注意喽,但是,如果有多个进程共享一个套接字,close每被 ...

  4. 你不知道的react

    1.props其实是JSX属性作为单个对象传递给组件:<Welcome name="john"> {name: 'john'} 2.ReactDOM.render()的 ...

  5. [Beego模型] 四、使用SQL语句进行查询

    [Beego模型] 一.ORM 使用方法 [Beego模型] 二.CRUD 操作 [Beego模型] 三.高级查询 [Beego模型] 四.使用SQL语句进行查询 [Beego模型] 五.构造查询 [ ...

  6. Layout Inflation :Unconditional layout, inflation from view adapter

    Layout inflation在Android上下文环境下转换XML文件成View结构对象的时候需要用到. LayoutInflater这个对象在Android的SDK中很常见,但是你绝对没想到竟然 ...

  7. Linux 操作 oracle 数据库

    1.Oracle监听启动命令:lsnrctl start 2.   sqlplus 登录数据库 3.OS版本及Oracle版本 select banner from v$version; 4.查询该数 ...

  8. 微信小程序页面带参数跳转及接收参数内容navigator

    功能从index页面跳转到draw页面,并在draw页面获取id及imgUrl index.wxml <navigator class='looks-view' wx:for="{{i ...

  9. DateTables的服务器分页

    function InitTable() { var table = $('#tbl_users').DataTable(); if ($.fn.dataTable.isDataTable('#tbl ...

  10. AB Test 是什么

    关于AB Test是什么 一种灰度发布方式. ps:什么是灰度发布 每个灰度对象都是0%(白色)到100%(黑色)的中间值,灰度发布是指在黑白之间,能够平滑过度的一种发布方式. 实现方式 让一部分用户 ...