自动化部署jenkins

github+jenkins+maven+docker自动化构建部署

霸气de小男生 提交于 2019-12-07 15:16:51
前言 传统的开发、测试、部署方式,是由开发人员本机或打包机进行打包,将war包提交给测试人员部署,测试通过后,再由实施人员负责部署到预发、生产环境中。中间的衔接不连贯,容易出错,而且打包、部署存在重复的工作量。自动化构建部署(CICD)就是解决该问题,将从开发到部署的一系列流程变成自动化,衔接连贯,在构建失败时能够告知开发,构建成功后能够告知测试和实施人员。无论大中小公司,都应该有此流程。 我本人在前公司搭建了基于svn(git)+jenkins+maven的自动化构建部署结构,所出的war包部署在tomcat中。此架构仍然不可避免要安装jdk、tomcat、mysql、nginx等应用,而且需要配置环境变量,使用docker可解决上述问题,将所有服务打包成docker镜像,推送到docker registry中。docker的优点就不在这里赘述了 目标 最终目标 :在linux系统中,搭建 jenkins 服务,定时(或githook)的方式从 github 上拉取maven工程,构建war包。使用docker构建image,推送到 docker registry 上。 我使用的是ubuntu系统,使用docker形式的jenkins,拉取github工程,gitlab同理,构建war包,再在tomcat镜像的基础上将war包进去,构成新镜像,推送到阿里的registry中

部署Jenkins

。_饼干妹妹 提交于 2019-12-06 12:45:31
一.Jenkins简介 Jenkins只是一个平台,真正运作的都是插件。这就是jenkins流行的原因,因为jenkins什么插件都有 。 Hudson是Jenkins的前身,Hudson是基于Java开发的一种持续集成工具,用于监控程序重复持续的工作,Hudson后来被收购,成为商业版。后来为了方便使用创始人又写了一个jenkins,jenkins在功能上远远超过hudson。 Jenkins的优点和功能特性 持续集成和持续交付 作为一个可扩展的自动化服务器,Jenkins 可以用作简单的 CI 服务器,或者变成任何项目的持续交付中心。 简易安装 Jenkins 是一个基于 Java 的独立程序,可以立即运行,包含 Windows、Mac OS X 和其他类 Unix 操作系统。 配置简单 Jenkins 可以通过其网页界面轻松设置和配置,其中包括即时错误检查和内置帮助。 插件 通过更新中心中的 1000 多个插件,Jenkins 集成了持续集成和持续交付工具链中几乎所有的工具。 扩展 Jenkins 可以通过其插件架构进行扩展,从而为 Jenkins 可以做的事提供几乎无限的可能性。 分布式 Jenkins 可以轻松地在多台机器上分配工作,帮助更快速地跨多个平台推动构建、测试和部署。 二.安装环境 1.操作系统:Centos 7.6 2.服务器配置:2G内存,50G磁盘 3

使用Jenkins部署Spring Boot项目和war包项目

余生颓废 提交于 2019-12-06 01:55:04
Jenkins是自动化部署的神器,今天就讲讲怎么使用Jenkins部署SpringBoot项目。 一、环境说明 JDK1.8,MAVEN3.5,CentOS7,Jenkins:2.178 一、Linux下安装JDK 1、登录Oracle官网下载Linux环境下的jdk1.8的压缩包, jdk-8u211-linux-x64.tar.gz 2、解压,tar vxf jdk-8u211-linux-x64.tar.gz 3、配置环境变量,vim /etc/profile,在最后加上 export JAVA_HOME=/usr/jdk1.8.0_211 export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH 4、修改完成之后,使其生效,source /etc/profile 5、输入 java -version 返回版本信息则安装正常。 二、Linux下安装MAVEN 1、登录Apache官网下载maven压缩包,apache-maven-3.5.4.tar.gz 2、解压,tar vxf apache-maven-3.5.4.tar.gz 3、配置环境变量,vim /etc/profile,在最后加上 export MAVEN_HOME=/usr/local/apache-maven-3.5.4 export PATH=${PATH}:$

jenkins自动化部署springboot项目

前提是你 提交于 2019-12-06 01:54:41
jenkins自动化部署springboot项目 一、jenkin的安装和配置 二、新建项目 1、新建一个Maven项目并进行命名。 2、添加GitHub路径。 3、设置源码管理,并添加账号,否则没有权限拉取git代码。 4、设置pom路径以及maven基本指令。 5、设置构建后的操作。 三、部署测试 四、说明:服务文件的建立和配置 一、jenkin的安装和配置 这边使用的虚拟机来进行练习,并且进行详细的配置介绍及安装过程: https://blog.csdn.net/lxw983520/article/details/78903419 二、新建项目 1、新建一个Maven项目并进行命名。 2、添加GitHub路径。 3、设置源码管理,并添加账号,否则没有权限拉取git代码。 4、设置pom路径以及maven基本指令。 5、设置构建后的操作。 说明,Name的配置方法: 进入系统管理; 找到 Publish over SSH (如果没有表示未安装插件,需要安装SSH相关插件),设置路径以及密码。 连接测试。 Exec command浅析: a. 停止springboot项目: systemctl stop aa ;(cui为服务名称) b. 复制springboot编译后的jar包: \cp -rf 拉取的服务器项目位置/target/cui.jar /data/cui ; c.

自动化部署-Jenkins备份回滚

蓝咒 提交于 2019-12-05 23:14:06
1、备份   备份可以使用批处理命令解决,实际就是复制当前发布文件 ::备份文件夹名,使用当前时间 set foldername=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% ::发布目录 set publishfolder=D:\LastOne\PcApi ::文件夹不存在 创建 if not exist "%publishfolder%\Backup\" ( md "%publishfolder%\Backup" ) ::创建备份文件夹 md "%publishfolder%\Backup\%foldername%" ::复制当前发布文件到备份文件夹中,排除掉备份文件及日志文件 "C:\Windows\System32\robocopy.exe" %publishfolder%\. %publishfolder%\Backup\%foldername%\ /IS /e /XD Backup wwwroot   这一段加到发布命令前,在发布之前,对当前的发布文件备份 2、回滚   首先我们需要添加一些构建参数   是否回滚   再添加一个选择备份的下拉框,由于需要动态获取备份文件夹的名字,需要借助一些插件来实现    添加Active Choices Plug-in插件,然后添加Active

Jenkins之配置GitHub-Webhook2

ぃ、小莉子 提交于 2019-12-05 22:36:50
什么是持续集成( Continuous integration ) 提出者Martin Fowler本人对持续集成是这样定义的:持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是敏捷开发(Agile) 在软件工程领域越来越红火,如何能再不断变化的需求中快速适应和保证软件的质量也显得尤其的重要。 持续集成正是针对这一类问题的一种软件开发实践。 持续集成的核心价值在于: 减少风险,减少重复过程 任何时间、任何地点生成可部署的软件 增强项目的可见性 建立团队对开发产品的信心 持续集成的原则 所有的开发人员需要在本地机器上做本地构建,然后再提交的版本控制库中,从而确保他们的变更不会导致持续集成失败。 开发人员每天至少向版本控制库中提交一次代码。 开发人员每天至少需要从版本控制库中更新一次代码到本地机器。 需要有专门的集成服务器来执行集成构建,每天要执行多次构建。 每次构建都要100%通过。 每次构建都可以生成可发布的产品。

Jenkins持续集成

ぃ、小莉子 提交于 2019-12-05 01:43:36
一、Jenkis介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复工作,旨在提供一个开放易用的软件平台,软件的持续集成变为可能。目前一个互联网产品的形成,从开发到上线,已经形成了一套标准流程:编码→ 构建→ 集成→ 测试→ 交付→ 部署,从测试之前可以看作是一个持续集成的过程 持续集成(Continuous integration,简称CI)指的是,频繁地(一天多次)将代码集成到主干上,持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。他的核心措施是,代码集成到主干之前,必须通过自动化的测。只有一个测试用例失败,就不能集成 二、下载安装 下载地址:http://updates.jenkins-ci.org/,提供了Windows、Linux和OS X平台的安装包,最简便的是war包直接启动,此时必须保证系统已经安装了JDK,最好是jdk1.5以上 已经安装了JDK的情况下第一种启动方法:切换到jenkins.war的存放的目录,输入如下命令 java - jar jenkins.war 如果需要修改端口号可以使用如下命令 java -jar jenkins.jar--httpPort=8081 然后在浏览器中(推荐用火狐)输入localhost:8081,localhost可以是本机的ip,也可以是计算机名

linux安装jenkins自动化部署踩的一些坑

六月ゝ 毕业季﹏ 提交于 2019-12-05 00:55:08
linux安装jenkins踩的一些坑 1.参考https://wiki.jenkins.io/display/JENKINS/Installing+Jenkins+on+Red+Hat+distributions 2.安装命令 wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key yum install jenkins 没权限用sudo 3.启动/关闭 sudo service jenkins start/stop/restart sudo chkconfig jenkins on 4.默认端口是8080,日志路径:/var/log/jenkins/jenkins.log; ======================过程中踩的一些坑==================== 浏览器上ip:8080无法访问,并且日志路径中并没有日志 ----你可能会出现的坑 1.使用命令systemctl status jenkins.service -l 查看状态 2.安装的java版本不符合jenkins的版本需求---当前java12不支持 3

jenkins自动化部署

无人久伴 提交于 2019-12-04 20:11:47
一、安装jenkins 1、安装jdk 查看可安装版本:yum search openjdk 安装:yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel 完成查看:java -version 2、官网下载,再安装jenkins sudo rpm -ivh jenkins-2.32.3-1.1.noarch.rpm Starting jenkins (via systemctl): [ OK ] 备注:sudo命令:用来以其它身份来执行命令( root用户),在/etc/sudoers中设置有权限执行sudo命令的用户。 文件存放路径: /usr/lib/jenkins/jenkins.war WAR包 /etc/sysconfig/jenkins 配置文件 /var/lib/jenkins/ 默认的JENKINS_HOME目录 /var/log/jenkins/jenkins.log Jenkins日志文件 3、查看端口是否打开 netstat -tunlp |grep :8080 tcp6 0 0 :::8080 :::* LISTEN 2259 /java 备注:listen打开状态 4、启动jenkins sudo service jenkins start Starting Jenkins [ OK ] 5

jenkins-gitlib 安装使用流程

南笙酒味 提交于 2019-12-04 10:40:55
系统的工作流程大概分为以下几步: 1> 开发者将新版本push到git server (Gitlab)。 2> Gitlab随后触发jenkins master结点进行一次build。(通过web hook或者定时检测) 3> jenkins master结点将这个build任务分配给若干个注册的slave结点中的一个,这个slave结点根据一个事先设置好的脚本进行build。这个脚本可以做的事情很多,比如编译,测试,生成测试报告等等。这些原本需要手动完成的任务都可以交给jenkins来做。 4> 我们在build中要进行编译,这里使用了分布式编译器distcc来加快编译速度。 notes jenkins的工作原理是先将源代码从gitlab中拷贝一份到本地,然后根据设置的脚本进行build。我们可以看出,整个系统的关键就是那个build脚本,用来告诉jenkins在一次集成中需要执行的任务。 2.Jenkins的安装与配置 1> 安装Jenkins 首先说如何安装 jenkins ,一定要安装最新版本才不会出各种奇怪的问题,参考官网wiki, Installing Jenkins on Ubuntu 上的指示, $ wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add