jenkins安装和配置(二):配置第一个项目
一、部署说明
将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安装和配置(二):配置第一个项目相关推荐
- CDH4.0安装及配置(二)配置网易yum源
1.首先需要确定系统架构 确认是x86_64之后,在网易的mirrors下载需要的rpm包:(如果是i386的话则需要到http://mirrors.163.com/centos/5/os/i386/ ...
- jenkins安装部署全过程(linux)
转自:https://www.cnblogs.com/jwrwst/p/6520114.html jenkins安装部署全过程 基本配置: 1.Linux安装配置jdk环境 1.1.上传到 Linux ...
- linux下安装svn并使用svn拉取项目
一.安装svn,运行命令:apt-get install subversion 安装好后运行svn -version看看是否安装成功. 二.拉取项目,在自己的项目根目录运行命令:svn checkou ...
- 【记录】jenkins 安装及环境配置(二)
[记录]jenkins 安装及环境配置(二) Jenkins插件安装 Jenkins环境配置 maven配置 JDK配置 方案一 方案二 git配置 配置SSH连接服务器 添加凭证 上一篇[记录]je ...
- Jenkins学习二:Jenkins安装与配置
安装前关注: Q:应该选择哪个版本的Jenkins? A:如果你是公司正式使用推荐长期支持版(LTS),原因:稳定.如果你是学习,随便哪个版本都可以. Q:JDK应该安装哪个版本的? A:推荐安装JD ...
- windows安装jenkins及ant/maven/jdk配置
一.jenkins安装 下载地址:https://jenkins.io/download/,下载下来为一个war文件 (1)第一种启动方式,电脑一启动,jenkins会自动运行 命运行运行 java ...
- [独孤九剑]持续集成实践(三)- Jenkins安装与配置(Jenkins+MSBuild+GitHub)
本系列文章包含: [独孤九剑]持续集成实践(一)- 引子 [独孤九剑]持续集成实践(二)– MSBuild语法入门 [独孤九剑]持续集成实践(三)- Jenkins安装与配置(Jenkins+MSBu ...
- Jenkins安装、配置、构建、脚本、配置邮箱、上传fir
Jenkins好处: 缩减开发周期,快速迭代版本 自动化流水线操作带来的高效 随时可部署 极大程度避免低级错误 Jenkins用处: 构建项目 跑测试用例检测bug 静态代码检测 部署 写在前面 建议 ...
- Jenkins安装与配置及汉化
一.介绍: Jenkins 是一款流行的开源持续集成工具,具有自动化构建.测试和部署等功能.官网: http://jenkins-ci.org/ 二. Jenkins的特点: Jenkins是开源的, ...
最新文章
- 深度神经网络在NLP的应用!
- python语言介绍-Python语言简介
- bzoj1013球形空间
- Ubuntu 16.04 GNOME在桌面左侧添加启动器(Launcher)
- 160921、React入门教程第一课--从零开始构建项目
- Notepad++ 搜索功能学习总结
- (转)K-近邻算法(KNN)
- 利用JSP编写程序初步
- linux 源码编译安装apache
- bootstrap css div布局,从css源码理解bootstrap布局容器和栅格系统
- c# 对象 与 Json串 转换
- 基于php的外卖订餐系统开题报告_网上订餐系统开题报告
- 物联网智能家居与射频识别技术应用
- [UOJ#405/LOJ#2863][IOI2018]组合动作(交互)
- 在Verilog里边 always@(*)语句是什么意思
- java 批量设置单元格边框,VC下设置Excel单元格的边框 (转)
- 真假屏幕测试软件,如何检测4K电视屏幕的真伪,漏出死像素?一键识别两种工具!...
- echarts柱形图+折线图混合案例
- hadoop不在sudoers文件中。此事将被报告。 解决方法
- Python二维字典的几个小例子