jenkin自动化代码上线
介绍
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自动化代码上线的更多相关文章
- Linux实战教学笔记41:企业级SVN版本管理与大型代码上线方案
		第1章 SVN服务实战应用指南 1.1 SVN介绍 1.1.1 什么是SVN(Subversion)? Svn(subversion)是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN ... 
- 企业SVN版本管理与代码上线方案
		1.SVN服务实战 1) 什么是SVN(Subversion)? Svn(subversion)是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN是一个跨平台的开源的版本控制系统.Sv ... 
- SVN版本管理与大型代码上线方案(一)
		SVN版本管理与大型代码上线方案(一) 链接:https://pan.baidu.com/s/1A3Iq3gGkGS27L_Gt37_I0g 提取码:ncy2 复制这段内容后打开百度网盘手机App,操 ... 
- jenkins +gitlab 自动化代码秒级上线
		一,配置脚本 #!/bin/bash #目标服务器IP地址 host=$ #job名称 job_name=$ #包名 name=web-$(date +)) #打包 cd /var/lib/jenki ... 
- Jenkins与网站代码上线解决方案
		1.1 前言 Jenkins是一个用Java编写的开源的持续集成工具.在与Oracle发生争执后,项目从Hudson项目独立. Jenkins提供了软件开发的持续集成服务.它运行在Servlet容器中 ... 
- Jenkins与网站代码上线解决方案【转】
		转自 Jenkins与网站代码上线解决方案 - 惨绿少年 https://www.nmtui.com/clsn/lx524.html 1.1 前言 Jenkins是一个用Java编写的开源的持续集成工 ... 
- java项目代码上线
		java项目代码上线 1:java项目代码上线架构图 ip地址及主机名规划 10.0.0.11 deploy 10.0.0.12 tomcat-web01 10.0.0.13 git.oldboy ... 
- Jenkins 自动化部署上线
		转载于互联网 jenkins自动化部署项目,通过jenkins 部署来节省运维时间,不需要手动cp上线及版本发布 Jenkins 自动化部署上线 Jenkins Jenkins 自动化部署上线一.Je ... 
- 艾伦 Visual Studio 批量自动化代码操作工具-VS插件发布
		艾伦 Visual Studio 批量自动化代码操作工具 以下简称--艾伦工具箱. 艾伦工具箱是一个多文件批量处理插件,目的是为了广大开发者提高开发效率,减少项目代码规范化审计,缩短开发者的项目开发周 ... 
随机推荐
- centos 6升级 GCC 到4.8
			centos 6升级 GCC 到4.8 安装最新版本的swoole 提示 pecl install swolle ... GCC 4.8 or later required. 首先想到的时候yum ... 
- tornado基本使用一
			一.tornado web程序编写思路 . 创建web应用实例对象,第一个初始化参数为路由映射列表 . 定义实现路由映射列表中的handler类 . 创建服务器实例, 绑定服务器端口 . 启动当前线程 ... 
- selenium网页截图和截图定位(带界面)
			from selenium import webdriver import time from PIL import Image driver = webdriver.Chrome() driver. ... 
- 开发六年mybatisplus使用小结
			最近在项目里用到了一个第三方库,叫mybatisplus,是一个mybatis的增强库,简单来说就是增强了mybatis的功能,让mybatis更好用,mybatisplus给的官方定义是Mybati ... 
- 面试总结关于Spring面试问题(精选)
			1.什么是Spring? Spring是一个反转控制IOC和AOP的开发框架和平台. 2.解释一下Spring? 轻量 : Spring 在大小和透明度上是轻量的,Spring基本核心版本大概只有1M ... 
- editplus多行合并成一行
			原文:https://www.cnblogs.com/jpfss/p/9238877.html Editplus 合并行快捷键: Ctrl+Shift+J ,选中要合并的行,再按快捷键即可 
- 用js刷剑指offer(替换空格)
			题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 牛客网链接 js代码 func ... 
- C#当中的BeginInvoke和EndInvoke
			我们已经知道 C#当中 存在async/await .BackGroudWorker类以及TPL(任务并行库).当然C#还有一些旧的模式来支持异步编程.参考<C#图解教程> 1. Beg ... 
- Navicate 12 for mysql
			先下载安装好 navicat工具,在下载下面的工具 链接:https://pan.baidu.com/s/1Y-IOrbnhvhlS6Y3lpABLQg密码: nktc 选其中的一个 请根据自己安装N ... 
- npm常规操作
			1.如果想在当前文件下创建package.json,只要在当前目录下执行npm init 2.如果执行过程中缺少依赖,有两种途径 ①安装全局 npm install -g express ②在当前工程 ... 
