Jenkins自动化版本构建
1、拉取代码

2、更新父版本 更新依赖版本
3、打包并推送到maven私库

4、版本控制后提交代码并打成docker镜像
PS:修改pom.xml项目版本,这里我没使用插件,直接使用脚本进行修改,这样不通用,我写的要本要求版本格式必须为1.0.1这种样式,并且version必须放在其他依赖之前。

脚本:

#!/bin/sh
echo "=========================== start update version ========================="
cd $1
source /etc/profile
# 将变更的内容提交到git仓库
#git pull origin master
#mvn versions:update-parent versions:commit
#mvn versions:use-latest-versions -Dincludes=ai.turbochain.ipex* versions:commit version=`awk '/<version>[^<]+<\/version>/{gsub(/<version>|<\/version>/,"",$1);print $1;exit;}' pom.xml`
versionLast=`echo $version | sed 's/.*\..*\.\(.*\)/\1/'`
let versionLast++
newVersion=`echo $version | sed 's/\(.*\..*\.\).*/\1'$versionLast'/'`
eval sed -i '0,/$version/s//$newVersion/' pom.xml
echo $newVersion
git add pom.xml
git commit -m "jenkens update pom version $newVersion"
#git tag $version -m "jenkens update pom version"
#git push origin $version
git push -u origin master echo "=========================== end update version =========================="
Jenkins自动化版本构建的更多相关文章
- 搭建Jenkins自动化持续构建和部署系统
什么是Jenkins? Jenkins是一个持续集成和持续交付的java应用程序,可以处理任何类型的构建或持续集成.集成Jenkins可以用于一些测试和部署技术.简单得说就是一款自动化构建测试和部署的 ...
- iOS Jenkins 自动化打包构建
前言 在测试app项目过程中,通常都是需要开发打测试包给到测试,但是无论是iOS还是Android的打包过程都是相当漫长的,频繁的回归测试需要频繁的打包,对于开发同学影响还是蛮大的.因此在这种情况下, ...
- Android Jenkins 自动化打包构建
前言 在测试app项目过程中,通常都是需要开发打测试包给到测试,但是无论是iOS还是Android的打包过程都是相当漫长的,频繁的回归测试需要频繁的打包,对于开发同学影响还是蛮大的.因此在这种情况下, ...
- 持续集成学习6 jenkins自动化代码构建
一.实验目标 二.配置 1.配置mvn构建 [root@node1 ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3 ...
- 持续集成学习7 jenkins自动化代码构建
一.整体功能 1.触发上下游构建 2.我们在触发一个job的时候顺便丢一些参数过去,这些参数有可能是我这次编译过程中产生的一些地址,版本号或动态的一些东西丢到下游作为下游的构建参数 3.不同种类的视图
- Docker 之 Jenkins自动化部署
Docker 之 Jenkins自动化部署 Jenkins部署 jenkis 绑定gitlab shell脚本自动化构建Docker镜像 提升maven构建速度 jenkins 无法通过shell脚本 ...
- Jenkins自动化构建系列:01敏捷开发、自动化构建与持续集成
<SVN与TortoiseSVN实战系列>已写完,今天新开一个<Jenkins自动化构建系列>,上周听了Bob Jiang老师的Agile1001公开课,一直想写个总结,这篇关 ...
- Docker——Jenkins + Git + Registry构建自动化持续集成环境(CI/CD)
前言 在互联网时代,对于每一家公司,软件开发和发布的重要性不言而喻,目前已经形成一套标准的流程,最重要的组成部分就是持续集成(CI)及持续部署.交付(CD). 本文基于Jenkins+Docker+G ...
- Jenkins自动化构建配置
写在前头 我每次修改代码一点东西,都要进行一个重新发布.重新发布的流程大概如下: 将最新代码同步上传到git上面 Maven打包 mvn clean install 将最新的jar包上传到服务器上面, ...
随机推荐
- Python_模块的定义与使用
1.模块的定义: 1.1 标准格式: import 模块名 模块名.函数名(实参列表) 1.2 特殊格式: from 模块名 import 函数名1,函数名2... 函数名(实参列表) 2.模块的使用 ...
- C实现栈与队列
C实现栈与队列 做了个栈和队列的基础demo,写得比较快,就没有什么注释,其实看各个函数的名字就可以知道函数的作用了. 栈的实现 #include <stdio.h> #include & ...
- node绑定域名 nginx篇
创建nodejs文件,并测试执行有没有问题. var express = require('express'); var app = express(); app.get('/', function ...
- WebSocketServer
@Component @ServerEndpoint(value = "/endpoint/ws") public class WebSocketServer { private ...
- JQuery的入门(二)
Jquery的遍历 jQuery对象本身就是数组对象,通过jquery选择器获得的都是满足该选择器条件的元素对象的集合体,因此在常常需要对jquery对象进行遍历.这里有三种遍历Jquery的方法. ...
- 《AlwaysRun!》第七次作业:团队项目设计完善&编码
项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-da ...
- flask 关于get、post的写法
一. get 方法获取入参方法 request.args.get 地址: 127.0.0.1:5000/test?arg1=1&arg2=2 如图: 二. pots方法获取入参方法类型比较多 ...
- /bin/sh^M: bad interpreter: No such file or directory 问题解决
我系统为windows,.sh文件的格式为dos,上传到linux上报错/bin/sh^M: bad interpreter: No such file or directory,linux只能执行格 ...
- [VSCode] Custom settings
{ // UI IMPROVEMENTS —————————————————— // Part 1. "editor.minimap.enabled": false, " ...
- SpringBoot基础及FreeMarker模板
案例springboot_freemarker application.properties配置文件 ###FreeMarker配置 spring.freemarker.template-loader ...