gitlab+jenkins自动构建jar包并发布
一、背景介绍:
公司软件都是java开发的,一般都会将java代码打包成jar包发布;为了减轻运维部署的工作量,合理偷懒,就需要自动化流程一条龙服务:
开发将代码提交到gitlab--->jenkins自动触发构建--->jenkins将构建好的jar包提交到远程主机--->jenkins重启java服务--->jenkins验证服务是否起来并反馈(此过程需要运维写验证脚本让jenkins执行)
二、jenkins配置
1、安装Gitlab Hook和GitLab插件,安装完成后在构建触发器这会多出一项;记住这个生成的URL会在gitlab中用到;

1.1、点击Advanced(高级)按钮生成跟giblab交互的token;记住这个token,gitlab上要用到;
这地方注意:
Allow all branches to trigger this job 允许所有分支触发此作业(默认选项)
Filter branches by name 按分支名称过滤触发作业
Filter branches by regex 按正则表达式过滤分支触发
这地方根据自己的需求去选择,比如只允许某个分支改变则触发作业;
2、Source Code Management(源码管理)


3、Build(构建)

4、安装Publish Over SSH插件,或者在插件管理中直接搜索(Send build artifacts over SSH)也可以

这地方要讲一下,这地方我开了两个Transfers;这个Transfers的作用是在jar包构建完成之后要先做一个动作,将原来的jar包做一个备份,方便出了问题回退;
Exec command:#脚本很简单就是一个简单的备份
#!/bin/bash
. /etc/profile &> /dev/null; . ~/.bash_profile &> /dev/null;
if [ -f "/data/web/admin-api/admin.jar" ]
then
time=`date +%Y-%m-%d-%H:%M`
cp /data/web/admin-api/admin.jar /data/web/admin-api/srms-admin.jar.$time
else
echo "no file"
fi
配置第二个Transfers

这地方要注意Source files是两个**号,这是个坑,详情可以点右边的问号有详细解释,这里的两个**表示匹配目录;
这地方的Exec command就不展示了,需要事先写好放到远端主机主机上;这地方执行必须是绝对路径;
Remove predix这个地方我之前填的*/target但是我构建的时候控制台提示找不到“eladmin-system/target”然后我就果断把提示中的写到了这个地方;
Remote directory 这地方要是不写,就要在System configation SSH配置项中定义,两者二选一;我是定义在了Publish over SSH那,所以在上图中没有写,如果两个地方都写了,会目录套目录,最终使jenkins不知道该将文件copy到哪;配置路径(jenkins--->Manage Jenkins--->Configure System--->Publish over SSH),配置完ssh要点一下Test Configuration测试下是否能脸上远端主机;

注意:Manage jenkins--->Configure System--->Gitlab 下图中的配置项需要取消勾选;

三、gitlab配置
1、打开gitlab网络限制,允许web hook请求过来;


2、gitlab中具体的项目上配置钩子
注意是在具体的项目中设置;


四、通过IDEA提交修改后的代码查看jenkins具体项目的控制台
代码中随便改点不影响运行的东西,提交测试;



查看gitlab修改后的是否上传:

查看jenkins是否开始构建:

查看jenkins控制台:

gitlab+jenkins自动构建jar包并发布的更多相关文章
- Linux+Jenkins自动构建服务器包
何时使用: 测试过程中我们需要持续构建一个软件项目,为避免重复的手动下载.解压操作,我们需要搭建一个能够自动构建的测试环境,当代码有更新时,测试人员只需点一下[构建]即可拉取最新的代码进行测试(也可设 ...
- gitlab jenkins 自动构建
工作中有这样一种需求: 每次提交代码之后,都自动执行 单元测试脚本,进行单元测试 jenkins监听项目的某个分支,设置运行脚本,设置一个url作为回调 利用gitlab的钩子,在每次有提交之后,触发 ...
- 小伙伴想学Jenkins自动构建发布项目,我:安排上了!!
写在前面 趁着十一长假,很多小伙伴都在悄悄学习,有些是为了能够顺利通过面试,进入大厂升职加薪.有些则是为了进一步巩固和提高自己的专业技能,希望有朝一日能过成为互联网架构师乃至技术专家.这不,就有小伙伴 ...
- Gitlab使用Webhook实现Push代码后的jenkins自动构建
本文出自https://www.cnblogs.com/kevingrace/p/6479813.html 怕以后找不到,所以先写到自己博客中 Gitlab利用Webhook实现Push代码后的jen ...
- Gitlab源码库里代码提交后,如何触发jenkins自动构建?
版本库里代码提交后,如何触发jenkins自动构建?这是一个面试题,感觉自己回答的并不好,因为并没有用过这个功能,之前公司实际项目用的是svn版本管理,一般都用立刻构建,和定时任务构建(不管代码是否有 ...
- 构建Maven项目自动下载jar包
使用Maven 自动下载jar包 右键单击项目,将项目 转换成Maven 项目 然后进去Maven官网 http://mvnrepository.com/ 这里有大量的jar包供我们使用,比如我现在要 ...
- 【转】构建Maven项目自动下载jar包
原文地址:https://blog.csdn.net/gfd54gd5f46/article/details/54973954 使用Maven 自动下载jar包 右键单击项目,将项目 转换成Maven ...
- 实战:向GitHub提交代码时触发Jenkins自动构建
当我们提交代码到GitHub后,可以在Jenkins上执行构建,但是每次都要动手去执行略显麻烦,今天我们就来实战Jenkins的自动构建功能,每次提交代码到GitHub后,Jenkins会进行自动构建 ...
- DEVOPS技术实践_02:jenkins自动构建项目
一.用户名密码错误 打开jenkins发现用户名密码错误,解决 1.1 找到config.xml文件 [root@jenkins-master ~]# ll -a drwxr-xr-x. root r ...
随机推荐
- 三个小项目入门Go语言|字节青训营笔记
前言 这是青训营的第一课,今天的课程比较快速的讲解了go语言的入门,并配合三个小的项目实践梳理所学知识点,这里详细回顾一下这三个项目,结合课后作业要求做一些代码补充,并附上自己的分析,青训期间的所有课 ...
- 多线程05:unique_lock详解
unique_lock详解 一.unique_lock取代lock_guard unique_lock是个类模板,实际应用中,一般lock_guard(推荐使用):lock_guard取代了mutex ...
- 2021春季学期华清大学EE数算OJ3:岩石的重量
原题目如下: 看起来,这不过是我们在<程序设计基础>里面接触过的简单动态规划问题(什么,你不知道什么叫动态规划? 什么是动态规划? 百度百科对"动态规划"一词定义如下: ...
- python字符编码与文件操作
目录 字符编码 字符编码是什么 字符编码的发展史 字符编码实际应用 编码与解码 乱码问题 python解释器层面 文件操作 文件操作简介 文件的内置方法 文件的读写模式 文件的操作模式 作业 答案 第 ...
- SpringBoot 错误(2)
springBoot整合redis时,报错如下: org.springframework.data.redis.serializer.SerializationException: Cannot de ...
- LightGBM原理与实践简记
写在前面: LightGBM 用了很久了,但是一直没有对其进行总结,本文从 LightGBM 的使用.原理及参数调优三个方面进行简要梳理. 目录 开箱即用 quickstart sklearn 接口 ...
- Docker打包镜像并上传
Docker打包镜像并上传 登录 账号 docker login --username=yourusername 密码 yourPassword 推送到仓库 docker镜像打标签 docker ta ...
- CAP 6.1 版本发布通告
前言 今天,我们很高兴宣布 CAP 发布 6.1 版本正式版,在这个版本中我们主要针对目前已经发现的几个BUG进行了修复了以及添加了一些小特性. 那么,接下来我们具体看一下吧. 总览 可能有些人还不知 ...
- 跟着 Guava、Spring 学习如何设计观察者模式
文章首发在公众号(龙台的技术笔记),之后同步到掘金和个人网站:xiaomage.info 今天讲解一篇行为型设计模式,什么是行为型?行为型主要负责设计 类或对象之间的交互.工作中常用的观察者模式就是一 ...
- SAP Html viewer
1 *&---------------------------------------------------------------------* 2 *& Report RSDEM ...