介绍

Jenkins是一款开源自动化服务器,旨在自动化连续集成和交付软件所涉及的重复技术任务。 Jenkins是基于Java的,可以从Ubuntu软件包安装,也可以通过下载和运行其Web应用程序ARchive(WAR)文件进行安装 - 构成一个完整的Web应用程序的集合,该文件旨在在服务器上运行。

ubantu 安装jenkins

将存储库密钥添加到系统

wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
#添加密钥后,系统将返回OK

将Debian包存储库地址附加到服务器的sources.list

echo deb http://pkg.jenkins.io/debian-stable binary/ | tee /etc/apt/sources.list.d/jenkins.list

运行update ,以便apt-get将使用新的存储库

apt-get update

安装Jenkins及其依赖项,包括Java

apt-get install jenkins

指定早期版本安装

apt-get install jenkins=2.138.

启动jenkins

jenkins配置文件在/etc/default/jenkins   如果启动不成功可能是8080端口被占用,在该文件里可以修改jenkins启动端口

启动Jenkins

systemctl start jenkins
systemctl status jenkins #查看jenkins状态

安装maven环境

下载maven

apache maven官网地址:http://maven.apache.org/download.cgi

找到Link列下的“apache-maven-3.5.2-bin.tar.gz“进行下载

安装配置maven

解压maven:
tar zxvf apache-maven-3.5.-bin.tar.gz -C /usr/local/

配置maven环境变量:

vim /etc/profile
export M2_HOME=/usr/local/apache-maven-3.5.2/
export CLASSPATH=$CLASSPATH:$M2_HOME/lib
export PATH=$PATH:$M2_HOME/bin #使文件生效:
source /etc/profile

查看maven版本信息

mvn -v
Apache Maven 3.5. (138edd61fd100ec658bfa2d307c43b76940a5d7d; --18T15::+:)
Maven home: /opt/maven/apache-maven-3.5.
Java version: 1.8.0_151, vendor: Oracle Corporation
Java home: /opt/jdk1..0_151/jre
Default locale: zh_CN, platform encoding: UTF-
OS name: "linux", version: "4.4.0-98-generic", arch: "amd64", family: "unix"

jenkins使用

进入系统管理

在插件管理安装gitlab和ssh插件

在全局工具配置 配置maven和git的环境

新建一个任务

配置gitlab的的连接

配置代码上线过程

1.执行/bin/bash 61peizhiwenjian.sh  脚本修改代码配置文件  #jenkins环境变量,将脚本放置在该工程的目录下即可以用相对路径执行脚本

配置文件脚本
#!/bin/bash
#name:wangkang
#作用:替换61环境的代码配置文件
ydz=/var/lib/jenkins/workspace/nongxianpeizhi/245peizhi
mbdz=/var/lib/jenkins/workspace/245nongxian2/guns-admin/src/main/resources
cp -fp $ydz/application.yml $mbdz

2.maven打包

3.执行上传脚本     执行前需要配置服务器间的秘钥

#!/bin/bash
#name:wk
#作用:代码上线
gclj=/var/lib/jenkins/workspace/245nongxian2 #jenkins工程路径
dmlj=/var/lib/jenkins/workspace/245nongxian2/guns-admin/target #代码war包所在的路径
tomcatlj=/usr/local/tomcat9/webapps #tomcat路径
dmbak=/media/hdd0/nongxian2bak                #代码备份路径
Ip=60.205.1.1 #上传到服务器的IP地址
[ -f $dmlj/nongxian2.war ] ||exit
chown tomcat.tomcat $dmlj/nongxian2.war #将代码文件属主属组修改
ssh tomcat@$Ip "mv $tomcatlj/nongxian2.war $dmbak/nongxian2.`date +%F`.war" #远程代码备份命令
scp $dmlj/nongxian2.war tomcat@$Ip:$tomcatlj #代码上线命令
rm -r $gclj/guns-* #清空jenkins代码文件

jenkin自动化代码上线的更多相关文章

  1. Linux实战教学笔记41:企业级SVN版本管理与大型代码上线方案

    第1章 SVN服务实战应用指南 1.1 SVN介绍 1.1.1 什么是SVN(Subversion)? Svn(subversion)是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN ...

  2. 企业SVN版本管理与代码上线方案

    1.SVN服务实战 1) 什么是SVN(Subversion)? Svn(subversion)是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN是一个跨平台的开源的版本控制系统.Sv ...

  3. SVN版本管理与大型代码上线方案(一)

    SVN版本管理与大型代码上线方案(一) 链接:https://pan.baidu.com/s/1A3Iq3gGkGS27L_Gt37_I0g 提取码:ncy2 复制这段内容后打开百度网盘手机App,操 ...

  4. jenkins +gitlab 自动化代码秒级上线

    一,配置脚本 #!/bin/bash #目标服务器IP地址 host=$ #job名称 job_name=$ #包名 name=web-$(date +)) #打包 cd /var/lib/jenki ...

  5. Jenkins与网站代码上线解决方案

    1.1 前言 Jenkins是一个用Java编写的开源的持续集成工具.在与Oracle发生争执后,项目从Hudson项目独立. Jenkins提供了软件开发的持续集成服务.它运行在Servlet容器中 ...

  6. Jenkins与网站代码上线解决方案【转】

    转自 Jenkins与网站代码上线解决方案 - 惨绿少年 https://www.nmtui.com/clsn/lx524.html 1.1 前言 Jenkins是一个用Java编写的开源的持续集成工 ...

  7. java项目代码上线

    java项目代码上线   1:java项目代码上线架构图 ip地址及主机名规划 10.0.0.11 deploy 10.0.0.12 tomcat-web01 10.0.0.13 git.oldboy ...

  8. Jenkins 自动化部署上线

    转载于互联网 jenkins自动化部署项目,通过jenkins 部署来节省运维时间,不需要手动cp上线及版本发布 Jenkins 自动化部署上线 Jenkins Jenkins 自动化部署上线一.Je ...

  9. 艾伦 Visual Studio 批量自动化代码操作工具-VS插件发布

    艾伦 Visual Studio 批量自动化代码操作工具 以下简称--艾伦工具箱. 艾伦工具箱是一个多文件批量处理插件,目的是为了广大开发者提高开发效率,减少项目代码规范化审计,缩短开发者的项目开发周 ...

随机推荐

  1. docker安装与常规使用 && dockerfile编写springbootdemo镜像

    dockerfile教程参考 https://blog.csdn.net/qq_33256688/article/details/80319673   docker 创建容器命令: docker ru ...

  2. No result defined for action com.java.test.Action.HelloAction and result index

    Struts中配置action访问出错: Struts Problem Report Struts has detected an unhandled exception: Messages: No ...

  3. openpose-opencv 的body数据多人体姿态估计

    介绍 opencv除了支持常用的物体检测模型和分类模型之外,还支持openpose模型,同样是线下训练和线上调用.这里不做特别多的介绍,先把源代码和数据放出来- 实验模型获取地址:https://gi ...

  4. Derby数据库操作 常见错误和异常

    一.插入(INSERT时报错) 1.错误:java.sql.SQLIntegrityConstraintViolationException: 列“test”无法接受空值. 可能原因:建表时test列 ...

  5. ZZNUOJ-2155-单身man集合-【标程做法:数位DP-1-10^8,提前暴力打表法: 砍时间复杂度到10^5】

    ZZNUOJ-2155: 单身MAN集合 题目描述: 单身man们突然集结起来了,虽然我们不知道它们想要干什么.你作为单身man的首领需要管理好每一只单身man,机智的你给每一只单身man编了一个编号 ...

  6. rugarch包与R语言中的garch族模型

    来源:http://www.dataguru.cn/article-794-1.html rugarch包是R中用来拟合和检验garch模型的一个包.该包最早在http://rgarch.r-forg ...

  7. Django ManyToManyField.through_fields 和

    示例: from django.db import models class Person(models.Model): name = models.CharField(max_length=50) ...

  8. 普通java类获取spring容器bean的方法

    很多时候,我们在普通的java类中需要获取spring的bean来做操作,比如,在线程中,我们需要操作数据库,直接通过spring的bean中构建的service就可以完成.无需自己写链接..有时候有 ...

  9. HTTP权威指南与图解HTTP读书笔记

    目录 第1章 HTTP概述 1.1 Web客户端和服务器 1.2 资源 1.2.1 URI 1.2.2 URL 1.2.3 URN 1.3 事务 1.3.1 方法 1.3.2 状态码 1.3.3 We ...

  10. 【基础算法-树状数组】入门-C++

    目录 基本定义 如何理解树状数组 主要操作 @ 基本定义 树状数组(Binary Indexed Tree(B.I.T), Fenwick Tree)是一个查询和修改复杂度都为log(n)的数据结构. ...