Jenkins - 持续集成部署
1. 安装svn:用于checkout源码
(1)yum 安装:yum -y install subversion

(2)查看svn版本信息:svnserver --version

2. 安装jdk
(1)上传已经下载好的jdk1.8.0_144.tar.gz到linux服务器
(2)解压tar zxvpf jdk1.8.0_144.tar.gz
(3)拷贝至/usr/local/java目录下 cp -rf jdk1.8.0_144 /usr/local/java/

(4)修改/etc/profile,配置环境变量

(5)重新加载profile source /etc/profile
3. 安装tomcat:用于运行jenkins
(1)上传已经下载好的tomcat安装包到linux服务器
(2)解压 tar zxvpf apache-tomcat-7.0.90.tar.gz
(3)重命名为tomcat

(4)修改conf/server.xml connet端口8080为80:

4.安装maven,用于编译工程
(1)下载maven安装包apache-maven-3.3.9.tar.gz,并上传到linux服务器
(2)解压tar zxvpf apache-maven-3.3.9.tar.gz

(3)配置maven环境变量

5.安装jenkins:
(1)下载jenkins.war https://jenkins.io/download/
(2)将jenkins.war上传到linux服务器tomcat的webapps目录下

(3)执行tomcat的bin目录下的startup.sh,运行tomcat
6. jenkins初始化:
(1)tomcat服务启动完成后,访问10.10.0.152/jenkins,具体IP为部署linux服务器ip,若看到以下页面,则jenkins启动成功;否则根据具体启动失败错误日志定位查找解决方案:

(2)在linux服务器上, vi打开上图文件,复制密码
(3)拷贝到上图密码输入框,点击continue

(4)选择安装方式,点击一下,开始安装插件

(5)插件安装完成后,开始设置账户信息,设置完成后,点击save and finish

(6)进入jenkins首页,jenkins初始化完成

7. jenkins节点配置
(1)点击【系统管理】-【全局安全配置】,将agent由disable改为random,save保存

(2)点击【系统管理】-【节点管理】,点击【New Node】新建一个节点

(3)输入节点名称,选择【固定节点】,点击【OK】

(4)配置【Remote root directory】、【Launch Method】,点击【save】保存,节点建立成功

(5)在节点列表可以看到节点仍为X号,尚未连接成功

(6)点击launch下载agent.jar包(上图为slave.jar),将agent.jar上传到之前配置的remote root directory目录下,如我的为/home/jenkins/

(7)复制(5)图中红框内的那条java执行命令(每个人不一样),编写一个sh脚本,用于后台运行该命令,如我的startSlave.sh

(8)后台运行脚本 ./startSlave.sh &,运行前节点为【offline】状态,运行后节点为【connet状态】

8. 自动化构建打包
(1)点击【New 任务】新建一个任务,输入任务名称,选择任务类型,点击【ok】

(2)关联节点:勾选【Restrict where this project can be run】,输入之前建立的节点名称

(3)执行打包配置(此处本人未使用jenkins自带的maven、svn插件),使用shell脚本进行打包,所以此处直接执行 sh pack.sh;pack.sh需手动放入jenkins对应的workspace目录下


(4)点击save,打包任务建立完成,点击【立即构建】,开始自动打包,打包完成后,如下图

(5)点击workspace就可以看到pack.sh打包脚本生成的安装包

9.自动部署
(1)新建任务
(2)基本与自动打包一致,下处有区别,设置后,只有上一步PACK任务成功后,才会执行本部INSTALL任务

(3)此处安装也是自己编写的install脚本:

(4)save后,点击【立即构建】即可,构建结束后,自动部署完成

Jenkins - 持续集成部署的更多相关文章
- jenkins持续集成部署
用到的技术和工具:git + maven + jdk + jenkins,首先服务器安装git.maven.jdk,这些都不再赘述. 1:开始安装主角jenkins,首先去官网下载war包(https ...
- windows部署jenkins持续集成maven测试项目不能访问测试报告
买了一台阿里云的服务器用于练习maven test项目,系统版本wiondows server 2012,将jenkins war包部署在Tomcat服务器上,项目构建后,生成的报告在C:\Windo ...
- Linux-GitLab+Jenkins持续集成+自动化部署
GitLab+Jenkins持续集成+自动化部署 什么是持续集成? (1)Continuous integration (CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个 ...
- CentOS 7 Gitlab+Jenkins持续集成+自动化部署
基于上次的环境<部署Gitlab+Jenkins持续集成环境> 来实现自动化部署 系统管理–>插件管理–>安装以下插件: Credentials Plugin(默认已经安装) ...
- .NET持续集成与自动化部署之路第一篇——半天搭建你的Jenkins持续集成与自动化部署系统
.NET持续集成与自动化部署之路第一篇(半天搭建你的Jenkins持续集成与自动化部署系统) 前言 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛 ...
- Centos7.4简单安装使用gitlab+maven+jenkins实现java代码的持续集成部署
1.工具的简单介绍 gitlab--源代码版本管理控制工具 maven--java代码编译构建工具 jenkins--基于java开发的自动化持续集成部署工具 sonar--代码质量管理工具 2.gi ...
- Jenkins持续集成企业实战系列之两种网站部署的流程-----01
注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. 最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...
- jenkins持续集成工作原理、功能、部署方式等介绍
超详细的jenkins持续集成工作原理.功能.部署方式等介绍 原创 波波说运维 2019-08-29 00:01:00 概述 今天简单整理了一下jenkins的一些概念性内容,归纳如下: 1.概念 j ...
- Jenkins持续集成(下)-Jenkins部署Asp.Net网站自动发布
环境:Windows 2008 R2.Jenkins2.235.1.Visual Studio 2017: 概要 前面写过一篇文章,<自动发布-asp.net自动发布.IIS站点自动发布(集成S ...
随机推荐
- Java to Kotlin (1) - 就决定是你了
2017年,Kotlin的发展可谓十分迅猛,稍微关注it界的人都知道谷歌宣布kotlin成为安卓的一级语言,不过那时候我并没有关注,因为我不是搞安卓的... 哈哈开个玩笑,其实之前也有听说过这个语言的 ...
- 关于ProjectServer调用PSI 报Error GeneralReadOnlyColumn (20005) - column TS_ACT_FINISH_DATE错的解决方案
TimesheetDataSet Table Actuals Row: TS_LINE_UID='f4b970f8-fb03-44d1-9997-cd31da42cb09' TS_ACT_START_ ...
- html基础用法(下)
设计表格: <html> <head> <title>表格</title> <meta charset="utf-8" /&g ...
- kindeditor简单使用
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...
- SP1043 GSS1 - Can you answer these queries I(线段树,区间最大子段和(静态))
题目描述 给出了序列A[1],A[2],…,A[N]. (a[i]≤15007,1≤N≤50000).查询定义如下: 查询(x,y)=max{a[i]+a[i+1]+...+a[j]:x≤i≤j≤y} ...
- 一个BUG?Visual Studio 2017 C++编写交换两个整数
想用一句话搞定交换: int a = 2, b = 5; cout << "a = " << a << ", b = " & ...
- sklearn fit transform fit_transform
scikit-learn提供了一系列转换库,他们可以清洗,降维,提取特征等. 在数据转换中有三个很重要的方法,fit,fit_transform,transform ss=StandardScaler ...
- git push之后回滚(撤销)代码
问题描述:首先,先说明一下,为什么会引发这次的话题,是这样的,我做完功能Agit push之后,2个月后需求部门要求不要功能A了,然后需要在没有功能A的基础上开发,怎么办?赶紧回滚代码呀. 然后我用g ...
- 中恳中笨 搭建flask封装环境
话不多说,先干再说..... 打开pycharm,创建一个关于flask的项目 2.创建一个App的文件包 3.把staic和templates文件包拖进App里 4.把app.py文件改为manag ...
- PAT-B java实现
注意:java提交PAT时,不需要加package : 类名必须是Main. 1001 害死人不偿命的(3n+1)猜想 (15) 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值. 输出格式 ...