介绍

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. redis集群安装2

      概要:本文主要介绍如何在Centos7中单机搭建redis集群三主三从,按照本文绝对可以实现该需求,至于先搭建单机版主要为了方便理解redis集群,为下一步开发或生产上redis集群做铺垫.同时本 ...

  2. Maven 三种archetype说明--转载

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 原文链接:https://blog.csdn.net/cx1110162/article/deta ...

  3. Liunx-tail命令

    1. 实时刷新tail -f /var/log/messages 2. 实时刷新最新500条log tail -500f  /var/log/messages 3. tail -n 20 catali ...

  4. 从c到c++<三>

    引用是给一个变量起别名回顾下变量,它有这两个属性:名称和空间.而引用不是变量,它仅仅只是变量的别名,没有自己的独立空间,需要与它所引用的变量共享空间,所以对于引用所做的改变实际上是对它所引用的变量的改 ...

  5. ocr 识别 字体大小问题?

    字体大 字体小?????? ???????????

  6. Spring Bean装配(上)

    Bean:在spring的IOC里面,把配置到IOC容器里面的实体或者是对象都称为Bean Bean配置项 Bean的作用域 Bean的生命周期 Bean的自动装配 Resources&Res ...

  7. 阿里云申请免费SSL证书,并配置到Tomcat,实现https访问

    第一步:阿里云免费https证书安装  https://jingyan.baidu.com/article/fdffd1f8619481f3e98ca196.html 第二步:阿里云申请免费SSL证书 ...

  8. 用Qt 画一个心形

    MainWindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QTi ...

  9. 04_Returners组件:返回jobid的结果到mysql

    1.前期调研 0.环境 salt 2019 python3.6  很重要 [root@IP ~]# salt-call --versions-report Salt Version: Salt: 20 ...

  10. python自动华 (二)

    Python自动化 [第二篇]:Python基础-列表.元组.字典 本节内容 模块初识 .pyc简介 数据类型初识 数据运算 列表.元组操作 字符串操作 字典操作 集合操作 字符编码与转码 一.模块初 ...