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 批量自动化代码操作工具 以下简称--艾伦工具箱. 艾伦工具箱是一个多文件批量处理插件,目的是为了广大开发者提高开发效率,减少项目代码规范化审计,缩短开发者的项目开发周 ...
随机推荐
- List、Set、Map集合的遍历方法
一.List集合遍历 public class TraversingList { /** * @author zhuxun describe: 定一个List集合并遍历 */ /** 定义一个List ...
- win10关闭防火墙和其通知
Win10电脑在关闭防火墙后,防火墙的通知会不定期提醒,如果误点后,防火墙就悄悄的开启了,导致好多功能就用不了了,所以比较有效的方法是:关闭防火墙,并关闭防火墙通知 1.关闭防火墙 在控制面板中,选择 ...
- LeetCode--链表
1.使用常量空间复杂度在O(n log n)时间内对链表进行排序. 思路: 因为题目要求复杂度为O(nlogn),故可以考虑归并排序的思想. 归并排序的一般步骤为: 1)将待排序数组(链表)取中点并一 ...
- PAT Basic 1089 狼人杀-简单版 (20 分)
以下文字摘自<灵机一动·好玩的数学>:“狼人杀”游戏分为狼人.好人两大阵营.在一局“狼人杀”游戏中,1 号玩家说:“2 号是狼人”,2 号玩家说:“3 号是好人”,3 号玩家说:“4 号是 ...
- libcurl 上传文件,不管文件什么格式 libcurl开发指南
libcurl 上传文件,不管文件什么格式 libcurl开发指南 上传文件 https://curl.haxx.se/download.html curl命令参数很多,这里只列出我曾经用过.特别是在 ...
- IP分组
IP 分组为了更准确地讨论 I n t e r n e t协议处理,我们必须定义一些名词.图 显示了在不同的I n t e r n e t层之间传递数据时用来描述数据的名词.我们把传输协议交给 I P ...
- nginx中ngx_http_gzip_module模块
⽤用gzip⽅方法压缩响应数据,节约带宽gzip on;gzip_min_length 1000;gzip_proxied expired no-cache no-store private auth ...
- Spark1
Spark集群 0.0体验安装Spark在集群单节点 1.tar tar -xzvf xxx.tgz -C /soft/ ln -s /soft/spark-2.1.0-bin-hadoop2.7 / ...
- Luogu P4082 [USACO17DEC]Push a Box 点双连通分量/圆方树
(貌似有圆方树的做法,我写的是点双) 显然这道题就是直接搜索.定义状态为f[i][j][0~4]表示箱子在(i,j),人在某个方向推.然后问题就是怎么转向.我们发现如果要转向,必须是人走过一条不包括( ...
- BZOJ 2145: 悄悄话 (打表)
BZOJ 2145 题解 直接代词,所有格,常用副词,助动词,冠词,常用词打表 比较出现次数的多少来决定循环位移了几位. CODE #include <bits/stdc++.h> usi ...