一、部署说明

将git clone代码到本地,用maven编译,打包成jar包,利用Dockerfile构建镜像的这一过程在jenkins上参数化,脚本化

二、安装maven环境

管理jenkins-->全局工具配置-->Maven选项-->新增maven-->选择版本,勾选自动安装-->点击保存
那这些在什么时候才真正的安装了呢?
是在初次使用到JDK或Maven的时候,才会去自动安装。
实践,并没有自动安装
ubuntu20.04手动安装maven
apt update
apt install -y maven 会自动设置全局变量,安装jenkins的时候安装过JDK了

root@cn-office-tonytest-jenkins:~# mvn -v
Apache Maven 3.6.3
Maven home: /usr/share/maven

本地Maven使用私服

安装和配置好之后,在开发中如何使用呢。可在maven的默认配置settings.xml中修改。

发布自己的jar到私服

如果要发布自己的jar到私服,就需要修改工程的pom.xml,添加如下内容:

<distributionManagement><repository><id>releases</id><name>Releases</name><url>http://192.168.60.231:8081/repository/maven-releases/</url></repository><snapshotRepository><id>snapshots</id><name>Snapshot</name><url>http://192.168.60.231:8081/repository/maven-snapshots/</url></snapshotRepository>
</distributionManagement>

同时
拷贝/usr/share/maven/conf/settings.xml到/var/lib/jenkins/.m2/这个目录下,并添加nexus的用户名和密码

  <servers><server><id>maven-proxy</id><username>nexus</username><password>Nginx801</password></server><server><id>leanwork-thirdparty</id><username>nexus</username><password>Nginx801</password></server><server><id>nexus-release</id><username>nexus</username><password>Nginx801</password></server><server><id>nexus-snapshot</id><username>nexus</username><password>Nginx801</password></server></servers>

注意上面的repository的id值一定要跟settings.xml文件中配置的server一致。

三、jenkins配置第一个JAVA项目

安装插件Git Parameter

第一个构建的项目是java后台项目,选择"构建一个自由风格的软件项目",比较灵活.

1. 常规-->勾选"丢弃旧的项目"。自定义"保持构建的天数"和"保持构建的最大个数"

2. 常规-->勾选"参数化构建过程"。

添加一个'字符参数',名称'BRANCH'默认值'origin/master'。手动填入分支或标签,值传给$BRANCH

或者

添加一个'git参数',名称'BRANCH'默认值'origin/master'。显示分支或标签,默认origin/master,值传给$BRANCH

一个手动填写,一个直接鼠标选择
crm-all.git是一个聚合git,内部包含十几个微服务,除了选择好分支外,构建对应服务还需要填写具体名字,因此需要用到'Extended Choice Parameter',在插件中心安装'Extended Choice Parameter Plug-In'

添加一个'Extended Choice Parameter'-->名称MODULE_NAME-->Basic Parameter Types-->Parameter Type-->check boxes-->Number of Visible Items-->Delimiter-->Choose Source for Value(这里面的值是给check boxes用的,也就是列出了crm-all里面所有的微服务,发布的时候点击勾选具体微服务名字就行了)

添加一个 '布尔值参数',名称DEPLOY_DEV。效果:勾选就给出true这个值,不勾选就给出false这个值

添加一个 '布尔值参数',名称BUILD_IMAGE。效果:勾选就给出true这个值,不勾选就给出false这个值

3. 源码管理-->勾选'Git'. 第一次配置的时候需要授权,参考前面的jenkins安装和配置

填写Repository URL-->git@gitlab.51sw.cc:bw/crm-all.git
填写Branches to build-->$BRANCH(来自git参数或字符参数)

4. 构建环境-->勾选Delete workspace before build starts

5. 构建

增加构建步骤-->执行shell-->填写

'bash /var/lib/jenkins/workspace/jenkins-deploy/crm-all.sh 1.0.$BUILD_NUMBER crm-all ${DEPLOY_DEV} ${BUILD_IMAGE}'
$BUILD_NUMBER取值是构建历史中第几次构建
${DEPLOY_DEV}前面配置的布尔值的值
${BUILD_IMAGE}前面配置的布尔值的值
crm-all.sh 将git clone代码到本地,用maven编译,打包成jar包,利用Dockerfile构建镜像的这一过程编写shell脚本

jenkins安装和配置(二):配置第一个项目相关推荐

  1. CDH4.0安装及配置(二)配置网易yum源

    1.首先需要确定系统架构 确认是x86_64之后,在网易的mirrors下载需要的rpm包:(如果是i386的话则需要到http://mirrors.163.com/centos/5/os/i386/ ...

  2. jenkins安装部署全过程(linux)

    转自:https://www.cnblogs.com/jwrwst/p/6520114.html jenkins安装部署全过程 基本配置: 1.Linux安装配置jdk环境 1.1.上传到 Linux ...

  3. linux下安装svn并使用svn拉取项目

    一.安装svn,运行命令:apt-get install subversion 安装好后运行svn -version看看是否安装成功. 二.拉取项目,在自己的项目根目录运行命令:svn checkou ...

  4. 【记录】jenkins 安装及环境配置(二)

    [记录]jenkins 安装及环境配置(二) Jenkins插件安装 Jenkins环境配置 maven配置 JDK配置 方案一 方案二 git配置 配置SSH连接服务器 添加凭证 上一篇[记录]je ...

  5. Jenkins学习二:Jenkins安装与配置

    安装前关注: Q:应该选择哪个版本的Jenkins? A:如果你是公司正式使用推荐长期支持版(LTS),原因:稳定.如果你是学习,随便哪个版本都可以. Q:JDK应该安装哪个版本的? A:推荐安装JD ...

  6. windows安装jenkins及ant/maven/jdk配置

    一.jenkins安装 下载地址:https://jenkins.io/download/,下载下来为一个war文件 (1)第一种启动方式,电脑一启动,jenkins会自动运行 命运行运行 java  ...

  7. [独孤九剑]持续集成实践(三)- Jenkins安装与配置(Jenkins+MSBuild+GitHub)

    本系列文章包含: [独孤九剑]持续集成实践(一)- 引子 [独孤九剑]持续集成实践(二)– MSBuild语法入门 [独孤九剑]持续集成实践(三)- Jenkins安装与配置(Jenkins+MSBu ...

  8. Jenkins安装、配置、构建、脚本、配置邮箱、上传fir

    Jenkins好处: 缩减开发周期,快速迭代版本 自动化流水线操作带来的高效 随时可部署 极大程度避免低级错误 Jenkins用处: 构建项目 跑测试用例检测bug 静态代码检测 部署 写在前面 建议 ...

  9. Jenkins安装与配置及汉化

    一.介绍: Jenkins 是一款流行的开源持续集成工具,具有自动化构建.测试和部署等功能.官网: http://jenkins-ci.org/ 二. Jenkins的特点: Jenkins是开源的, ...

最新文章

  1. 深度神经网络在NLP的应用!
  2. python语言介绍-Python语言简介
  3. bzoj1013球形空间
  4. Ubuntu 16.04 GNOME在桌面左侧添加启动器(Launcher)
  5. 160921、React入门教程第一课--从零开始构建项目
  6. Notepad++ 搜索功能学习总结
  7. (转)K-近邻算法(KNN)
  8. 利用JSP编写程序初步
  9. linux 源码编译安装apache
  10. bootstrap css div布局,从css源码理解bootstrap布局容器和栅格系统
  11. c# 对象 与 Json串 转换
  12. 基于php的外卖订餐系统开题报告_网上订餐系统开题报告
  13. 物联网智能家居与射频识别技术应用
  14. [UOJ#405/LOJ#2863][IOI2018]组合动作(交互)
  15. 在Verilog里边 always@(*)语句是什么意思
  16. java 批量设置单元格边框,VC下设置Excel单元格的边框 (转)
  17. 真假屏幕测试软件,如何检测4K电视屏幕的真伪,漏出死像素?一键识别两种工具!...
  18. echarts柱形图+折线图混合案例
  19. hadoop不在sudoers文件中。此事将被报告。 解决方法
  20. Python二维字典的几个小例子

热门文章

  1. 无人超市和传统超市的这些区别 你都知道吗?
  2. 2020年免费远程控制软件排行出炉!网站监控免费下载有那些?
  3. JAVA处理订购机票案例
  4. 基于51单片机的简易交通灯仿真代码讲解
  5. 抖音短视频审核流程梳理
  6. 实现用户端的充值、修改密码、查看个人信息、保存用户的信息到文件操作
  7. 黄页88网站之加密字符串破解
  8. JavaWEB_POI导出大量数据excel(50万左右)
  9. 泛泰SKYA850黑砖QHSUSB_DLOAD救砖教程(操作篇)[2013.6.3更新]
  10. zabbix 添加监控主机和自定义模板