前言

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. Python3 安装pylint 及与PyCharm关联

    使用如下命令: pip3 install pylint 安装完后可以看到在你的python3的目录底下的Scripts目录下有pylint.exe了 然后就可以使用pylint 评估你的代码了,如: ...

  2. element-ui table 的翻页记忆选中

    公司中台项目刚开始开发,用了vue+element,需要许多前置调研,table的翻译记忆选中就是其中之一. template: <el-table :ref="tableRef&qu ...

  3. TCP/IP||Ping

    1.what's PING 由Mike Muuss编写,为了测试另一台主机是否可达,发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答,如果不能PING到某台主机,那么就不能Telnet或 ...

  4. 使用SparkSql进行表的分析与统计

    # 背景 ​ 我们的数据挖掘平台对数据统计有比较迫切的需求,而Spark本身对数据统计已经做了一些工作,希望梳理一下Spark已经支持的数据统计功能,后期再进行扩展. # 准备数据 在参考文献6中下载 ...

  5. 20191121-4 Final发布用户使用报告

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/10064 队名:组长 组长:杨天宇 组员:罗杨美慧,王歆瑶,魏鑫,梅小雨 ...

  6. 记一次 爬取LOL全皮肤原画保存到本地的实例

    #爬取lol全英雄皮肤 import re import traceback # 异常跟踪 import requests from bs4 import BeautifulSoup #获取html ...

  7. 为什么大家都说Java中只有值传递?

    最近跟Java中的值传递和引用传递杠上了,一度怀疑人生.查了很多资料,加上自己的理解,终于搞清楚了,什么是值传递和引用传递.也搞明白了,为什么大家都说Java只有值传递,没有引用传递.原来,我一直以来 ...

  8. Go 开发关键技术指南 | 敢问路在何方?(内含超全知识大图)

    作者 | 杨成立(忘篱) 阿里巴巴高级技术专家 Go 开发关键技术指南文章目录: 为什么你要选择 Go? Go 面向失败编程 带着服务器编程金刚经走进 2020 年 敢问路在何方? Go 开发指南大图 ...

  9. Vue.js 入门 --- vue.js 安装

    本博文转载  https://blog.csdn.net/m0_37479246/article/details/78836686 Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据 ...

  10. Fabric1.4:链码管理与测试

    1 链码介绍 智能合约在 Hyperledger Fabric 中称为链码(chaincode),是提供分布式账本的状态处理逻辑.链码被部署在fabric 的网络节点中,能够独立运行在具有安全特性的受 ...