什么是Jenkins?

Jenkins是一个持续集成和持续交付的java应用程序,可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术。简单得说就是一款自动化构建测试和部署的Java应用程序。

Jenkins的应用场景

简单的应用场景:在团队开发中,我们时常会遇到这样一个问题。比如,我们把团队项目部署到github上面,当我们把本地开发的代码提交到GitHub仓库之后,那么服务器该怎么自动更新呢?GitHub上面有webhook可以实现,还要自己写代码,感觉不够智能。针对这一情况,Jenkins就可以解决。

安装Jenkins安装要求

Jenkins安装很方便,Linux、windows等系统只要有对应的Java环境都可以安装。本文以Linux(centos7)安装为例。

// 1.检测环境是否安装jdk,如果没有则会提示系统不存在jdk。
java --version
//2.安装jdk,因为Jenkins对Jdk的版本有要求,我们这里安装的Jenkins又是最新的版本。因此安装的jdk应在1.8之上。
//版本兼容性
//2.54 (2017-04) and newer: Java 8
//1.612 (2015-05) and newer: Java 7
// 源码安装方式
​//下载链接:http://www.oracle.com/technetwork/java/javase/downloads/index.html
//下载对应的jdk版本,建议下载1.8以上的版本,我这里是jdk1.8.0_60的版本。
在/usr目录下面新建要给java目录,将下载的jdk包上传到该目录并进行解压。
vim /etc/profile
JAVA_HOME=/usr/java/jdk1.8.0_60
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
// yum方式安装
yum install -y java
// 检测是否安装成功,如果显示版本号则代表安装成功。
java --version
// 开始安装Jenkins。安装Jenkins的方式有很多种,我这里以rpm包的方式安装。具体的安装方式可以参考https://jenkins.io/doc/book/installing/#setup-wizard
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
yum install jenkins
// 安装完成之后,就可以以service方式对Jenkins服务进行管理了。
service jenkins start/restart/stop;
chkconfig jenkins on // 开机启动

通过上面的步骤,我们便安装好了Jenkins,此时我们通过ip:8080直接访问即可。根据安装操作一步一步的进行即可进入如下界面。本文属于安装篇,安装的过程也很简单,便写的很粗糙,后期在分享其他功能上面会更加精细化。如果你遇到什么问题,可以加425535068群咨询(绝不是为了推荐,只是可能人太多,太繁琐),同时促进大家想后学习。

搭建Jenkins自动化持续构建和部署系统的更多相关文章

  1. flow.ci + Github + Slack 一步步搭建 Python 自动化持续集成

    理想的程序员必须懒惰,永远追随自动化法则.Automating shapes smarter future. 在一个 Python 项目的开发过程中可能会做的事情:编译.手动或自动化测试.部署环境配置 ...

  2. jenkins+docker 持续构建非docker in docker jenkins docker svn maven

    工欲善其事必先利其器,为了解脱程序员的,我们程序员本身发明了很多好用的工具,通过各种工具的组合来达到我们想要的结果 本文采用jenkins docker svn maven作为相关工具,项目sprin ...

  3. jenkins+docker 持续构建非docker in docker

    工欲善其事必先利其器,为了解脱程序员的,我们程序员本身发明了很多好用的工具,通过各种工具的组合来达到我们想要的结果 本文采用jenkins docker svn maven作为相关工具,项目sprin ...

  4. Android Jenkins 自动化打包构建

    前言 在测试app项目过程中,通常都是需要开发打测试包给到测试,但是无论是iOS还是Android的打包过程都是相当漫长的,频繁的回归测试需要频繁的打包,对于开发同学影响还是蛮大的.因此在这种情况下, ...

  5. 利用jenkins实现自动构建、部署,提升团队开发效率

    一大早就被群里的同学刷银川下雪的消息,看着我都发冷,突觉一阵凉风裹身,是不是该考虑秋裤了. 偏离主题,正文走起...... 使用jenkins目标:利用其结合maven完成自动构建,并部署到tomca ...

  6. iOS Jenkins 自动化打包构建

    前言 在测试app项目过程中,通常都是需要开发打测试包给到测试,但是无论是iOS还是Android的打包过程都是相当漫长的,频繁的回归测试需要频繁的打包,对于开发同学影响还是蛮大的.因此在这种情况下, ...

  7. Jenkins+Git+Maven构建并部署war包到tomcat

    主要思路:1.jenkins从git中拉取项目源码:jenkins使用maven构建并将生成的war部署到tomcat容器下. 环境:Centos7.Maven3.5.3.git(单机) 安装Git ...

  8. jenkins简单持续构建

    一.安装jenkins 二.将需要持续构建的java project打包成jar文件 1.选择导出需要运行的main方法所在java类

  9. 使用express+shell在服务器上搭建一套简单的前端部署系统

    前言 个人项目越来越多,部署需要频繁操作服务器,所以手动搭建一套简单的部署系统. 效果如图 其中包含 原生html+css+js项目,单页面react, vue, angular项目,实现了一键打包发 ...

随机推荐

  1. 自学git心得-5

    标签管理也是git里面比较重要的一部分内容,我们下载软件的时候经常看到诸如v2.0.v2.3.0这样的版本号,在git里也是一样,有时为了避免分支的名称五花八门而发生混淆的情况,我们常常会 给分支贴上 ...

  2. 【Python系列】Python包管理器pip

    缘起 这段时间忙着给朋友搞事,忙了好长一段时间,木有写博客很长时间了.之间做了两个东西,一个是邮件自动发送脚本,一个是数据处理软件.其中,在做数据处理软件的时候使用到了非Python系统库,是两个第三 ...

  3. Java关于List<String> 进行排序,重写Comparator()方法

    1.对list进行排序,list中的参数类型是Stirng,参数的格式不完全一样,例如有null,"","51003","510020"等 ...

  4. 五、python小功能记录——打包程序

    使用pyinstaller打包Python程序 安装工具 :pip3 install pyinstaller 在Python程序文件夹上(不点进去)按住shift并且右键,在弹出的选项中点击" ...

  5. 火狐浏览器对svg支持的一点不足

    项目中要用svg实现一个如下图所示的风机扇叶转动效果 当用chrome浏览器打开,动画显示正常.用火狐浏览器打开扇叶静止不动,代码如下: <svg xmlns:cge="http:// ...

  6. 乘风破浪:LeetCode真题_014_Longest Common Prefix

    乘风破浪:LeetCode真题_014_Longest Common Prefix 一.前言 如何输出最长的共同前缀呢,在给定的字符串中,我们可以通过笨办法去遍历,直到其中某一个字符不相等了,这样就得 ...

  7. 10个值得深思的PHP面试题

    第一个问题关于弱类型 $str1 = 'yabadabadoo'; $str2 = 'yaba'; if (strpos($str1,$str2)) { echo "/"" ...

  8. [DBSDFZOJ 多校联训] Password

    Password password.in/.out 描述 你来到了一个庙前,庙牌上有一个仅包含小写字母的字符串 s. 传说打开庙门的密码是这个字符串的一个子串 t,并且 t 既是 s 的前缀又是 s ...

  9. HTTP协议图--HTTP 工作过程

                  HTTP请求响应模型 HTTP通信机制是在一次完整的 HTTP 通信过程中,客户端与服务器之间将完成下列7个步骤: 建立 TCP 连接 在HTTP工作开始之前,客户端首先要 ...

  10. MSSQL SEVER执行动态SQL

    在Sql Server查询语句中使用变量表示表名.列字段名等动态查询方式. 方法一:EXEC命令(支持普通字符和Unicode字符) ); SET @sql=N'PRINT ''这条消息是动态SQL命 ...