前言

jenkins是devops与CI/CD的重要工具之一,下面通过jenkins与svn的结合完成自动部署功能

环境

软件 名称 版本
操作系统 Centos 7.4
开发环境 jdk 1.8
中间件 tomcat 8.5
构建仓库 maven 3.5
版本控制 subversion 1.7
持续交付 jenkins 2.7

部署

准备工作

关闭防火墙与selinux,设备需要联网,因为maven构建的时候需要下载大量的jar包

systemctl stop firewalld.service
systemctl disable firewalld.service
sed -i 's/enforcing/disabled/g' /etc/sysconfig/selinux
reboot

安装jdk

rpm -qa | grep "java" | xargs rpm -e -nodeps
rpm -qa | grep "tzdata" | xargs rpm -e --nodeps
rpm -ivh jdk-8u45-linux-x64.rpm
java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

安装tomcat

tar -zxf apache-tomcat-8.5..tar.gz -C /usr/local/
cd /usr/local
mv apache-tomcat-8.5. tomcat

安装maven工具

wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/ apache-maven-3.5.2-bin.tar.gz
tar -zxf apache-maven-3.5.-bin.tar.gz -C /usr/
cd /usr
mv apache-maven-3.5. maven

安装jenkins

wget http://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.73.2/jenkins.war
rm -rf /usr/local/tomcat/webapps/ROOT
mkdir -p /usr/local/tomcat/webapps/ROOT
mv jenkins.war /usr/local/tomcat/webapps/ROOT
cd /usr/local/tomcat/webapps/ROOT
jar -xf jenkins.war
mkdir /jenkins
cd /usr/local/tomcat/bin
./startup.sh

添加环境变量

vim /etc/profile
# 添加如下内容:
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
MAVEN_HOME=/usr/maven
JENKINS_HOME=/jenkins
PATH=/usr/maven/bin:/usr/java/jdk1..0_45/bin:/usr/java/jdk1..0_45/jre/bin:$PATH
export PATH JENKINS_HOME MAVEN_HOME # 将环境变量加入到内存中
source /etc/profile
echo $PATH
/usr/maven/bin:/usr/java/jdk1..0_45/bin:/usr/java/jdk1..0_45/jre/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:

配置jenkins

登录jenkins

安装默认插件

安装相关插件

用同样的方法将subversion、maven的插件全部装上,因为我们等下要用这些插件来部署

构建任务

开始新建任务

自动化部署

验证结果

这样就表示自动打包完成,要看是否自动部署成功需要到被部署的tomcat服务器上面查看tomcat的状态;jenkins与git的结合也与之类似,可自行研究。

参考文档:

https://jenkins.io/zh/download/

https://jenkins.io/zh/doc/

Centos 7 最小化部署jenkins的更多相关文章

  1. Centos 7 最小化部署zabbix

    前言 文章内容是作者本人编写,之前一直放在word文档中,突然有闲情转移到博客上来了,欢迎后续观看者有问题找我探讨~~~ 废话不多说,先说下原理吧 概述 工作原理 通过c/s模式采集数据,基于b/s模 ...

  2. Centos 7 最小化部署svn版本控制(http协议)

    1.关闭selinux sh-4.2# sed -i 's/enforcing/disabled/' /etc/selinux/config sh-4.2# reboot 2.卸载防火墙 sh-4.2 ...

  3. Centos 7最小化部署apollo

    https://github.com/nobodyiam/apollo-build-scripts

  4. Centos 7 最小化部署svn版本控制(svn协议)

    1.关闭selinux sh-4.2# sed -i 's/enforcing/disabled/' /etc/selinux/config sh-4.2# reboot 2.卸载防火墙 sh-4.2 ...

  5. RHEL/CentOS 7最小化安装后需做的30件事情

    导读 CentOS是一个工业标准的Linux发行版,是红帽企业版 Linux 的衍生版本.你安装完后马上就可以使用,但是为了更好地使用你的系统,你需要进行一些升级.安装新的软件包.配置特定服务和应用程 ...

  6. Centos8最小化部署安装OpenStack Ussuri

    #!/bin/bash #Centos8最小化部署安装OpenStack Ussuri #共两台主机,分别是一台控制节点,一台计算节点 #.控制节点内存4096M.双网卡,分别为eth0:10.0.0 ...

  7. CentOS 7 最小化安装及优化

    CentOS 7 最小化安装及优化 目录 CentOS 7 最小化安装及优化 一.下载镜像文件 官方网站 国内镜像源 一.VMware 配置虚拟网络 二.VMware 新建虚拟机 三.CentOS 7 ...

  8. CentOS 7 最小化安装的网络配置

    默认的最小化安装CentOS 7系统以后,是没有ipconfig这个命令的,依赖于net-tools工具包. 一.nmtui 这是一个类似于图形化的命令(和setup类似) 通过这个组件窗口可以设置各 ...

  9. Centos程序最小化后,窗口标签都消失找不到窗口的问题

    我是用的centos版本是CentOs 7. 在“顶部面板”或者 “底部面板” 右击选择“添加组件”),如下图所示: 在搜索框里输入“窗口列表”(window list),选中“窗口列表”即可.如下图 ...

随机推荐

  1. poj1737-----这题有毒

    这题有毒,不取模还会溢出,我哭了 <进阶指南>p337动态规划 公式就是个这了,代码就不贴了,反正是错的,用java算了

  2. 003eop常见问题设置

  3. ssh保持连接不断开

    使用ssh连接服务器,长时间不使用,会自动断开,控制台会卡死无法使用,现提供以下两个方案解决这个问题: [服务器主动保持连接] 修改服务器配置文件: vim /etc/ssh/sshd_config ...

  4. Java工程师阅读源码的一些见解

    一.为何阅读源码 就是说,通过阅读源码能给你带来什么好处. 学习如何从需求-设计-实现,开阔你的思维,提升你的架构设计能力: 帮助更好地理解原理和架构设计: 帮助更快地定位线上问题BUG 可以根据自己 ...

  5. 反射 API基本代码测试

    ReflectBean.java package com.xiaojian.basics.reflect; /** * 使用反射的测试类 */ public class ReflectBean { / ...

  6. Intellij Idea插件使用记录之Alibaba Java Coding Guidelines

    目录 Intellij Idea插件Alibaba Java Coding Guidelines 前言 使用 感谢 Intellij Idea插件Alibaba Java Coding Guideli ...

  7. Could not find a version that satisfies the requirement numpy>=1.7.0 (from pan das==0.17.0) (from versions: ) No matching distribution found for numpy>=1.7.0 (from pandas==0.17.0)

    今天晚上一直在安装pandas,天杀的,真的是太难了.后来发现提示: Could not find a version that satisfies the requirement numpy> ...

  8. ios 页面滑动到底部无法往上滚的问题

    简单说明:当h5端使用vue-infinite-scroll 插件 做滚动加载                如:页面布局  <header></header> <div ...

  9. 极简安装 TensorFlow 2.0 GPU

    前言 之前写了几篇关于 TensorFlow 1.x GPU 版本安装的博客,但几乎没怎么学习过.之前基本在搞 Machine Learning 和 Data Mining 方面的东西,极少用到 NN ...

  10. Golang最强大的访问控制框架casbin全解析

    Golang最强大的访问控制框架casbin全解析 Casbin是一个强大的.高效的开源访问控制框架,其权限管理机制支持多种访问控制模型.目前这个框架的生态已经发展的越来越好了.提供了各种语言的类库, ...