【02】Jenkins:第一个项目
写在前面的话
通过上一节我们成功的搭建起来 Jenkins,那么接下来就是体验如何构建我们的第一个项目了。当然在这之前我们得专门针对 Java 环境就行简单的配置。
全局工具配置
其实这次配置的主要还是关于 Java 项目的工作配置,包括 JDK,Maven,以及代码仓库 Maven 等。
打开:系统管理 --> 全局工具配置
由于在安装 Jenkins 的时候安装了很多推荐插件,所以一般常用的配置项这里都能找到。
1. 配置多版本 JDK:
我们运行 Jenkins 的时候已经有了 JDK8,此时我们再在相同目录下放个 JDK7,因为有些公司的项目可能会并存,甚至 JDK6。
此时服务器上面的目录结构:
新增 JDK7 和 JDK8,因为我们本地已经有,所以不勾选自动安装:
2. 安装 git,我们的代码仓库使用的 gitlab 进行管理,所以需要安装 git,如果你是 SVN 则需要单独去搜索 SVN 配置:
yum -y install git
我们直接在服务器安装 git 即可。
3. 配置 Maven,当然我这个 Maven 是结果修改添加了本地配置的 Maven,你也需要将其添加你本地私有仓库的配置。
4. 另外还有类似 Gradle 这些的甚至更麻烦的,可以先去查看又没有相关的插件,如果有就安装上。配置方法都是同理。
Gradle 也是 Java 的一种打包软件,有些人可能不知道,这里提一下,你就可以简单的理解他就是 Maven。
5. Jenkins 中所有修改配置的记得改完以后都要应用保存:
这样,我们基础的常用工具就配置完成了。
全局安全配置
除了工具,我们还需要配置系统安全,当然系统一般是配置好的,但我们要检查一下。
打开:系统管理 --> 全局安全配置
查看配置:
关闭用户注册功能,因为这个服务是内部使用的,不需要开启注册。
只允许登录用户操作,这个地方之后我们谈到权限管理的时候会再聊。
另外就是 CSRF 跨站请求,但是该配置在某些时候我们需要将其关掉,比如我们二次开发的时候可能会用到。
Jenkins 其实主要的初始化配置差不多就这些,当然你可以可以去:系统管理 --> 系统设置 里面设置其他,比如邮箱,构建数量限制等。
但其实是没有必要的,我们后面会使用钉钉通知的方法,比邮件香。
创建第一个任务
在目前 Jenkins 中,我们现在新建的任务一般就两种:自由风格 和 流水线
打开:新建任务
可能你会在其他地方看到类似 Maven 项目等,其实没必要,他就是在自由风格基础上针对 Maven 进行封装而已。
所以他能做的,自由风格也能做,所以,我们只需要记住这两个即可。
1. 我们创建一个名为:TEST-01-ERP-BACKEND
对于项目的名字,可以参考我们的命名规范,便于管理。不推荐使用中文,原因是该名称会在 Jenkins 服务器上面创建相应的目录,也不推荐有空格这些。
2. 添加描述和选择 JDK:
在一开始我们配置 Jenkins 的时候,很多人都忽略了这个配置,但是导致的可怕结果就是,用到后面,发现 Jenkins 很卡,磁盘占用很高。
我们需要知道的是,Jenkins 每次构建都会在 /data/jenkins/jenkins-data/jobs/TEST-01-ERP-BACKEND/builds 下面生成一个构建 ID 目录,该目录保留构建记录等相关的东西。随着时间的推移,越来越多。说不定下面就是成百上千个目录。可想而知造成的影响。
上面是我设置的认为比较使用的数量。可以参考一下。
3. 配置项目代码仓库:
4. 添加 GIT 账户:
添加以后配置正确就不会再报错:
附:我们可以在 GIT 拉起代码前后增加一些操作:
这些都录根据自己的需求进行添加。
5. 构建前的操作:
Jenkins 给我提供了很多触发条件的选择以及构建前我们能够做啥,但是这种一般都用于特殊场景。有需要的情况下才使用。
比如 GIT 提交代码自动触发构建,比如定时让他自动构建等。
6. 构建代码:
系统默认安装的插件给我们提供了很多构建操作,但我们常用的一般就是 执行 shell,这个能够满足我们 99% 的需求。
想执行什么就执行什么 shell,比如我们这里使用 Maven 构建。
直接写 Maven 命令,但是由于我们并没有配置 Maven 环境变量,以及并没有构建 Maven 项目,所以不能用到全局工具。
我们就直接下 mvn 命令的绝对路径。
7. 构建后操作:
最后就是构建后操作,比如更新上线啊等等,由于我们这里第一次测试,我们只是打包,所以就不做后续了。
后面会专门谈谈发布,那时候我们还会结合插件来聊聊这个。
8. 应用保存:
9. 完成:
需要注意的是,改名字以后,服务器上面之前的目录还是会依然存在。
10. 执行构建:点击:立即构建
我们可以开启右上角的自动刷新,这样就能动态的看到构建状态:
查看构建过程:
可以动态查看到整个构建日志:
如果构建成功,最后的结果如图:
构建成功标记为蓝色的球:
如果报错则会显示报错信息,同时前面的球会变成红色。没有完成出现问题则会是黄色的球。
主页的状态是太阳:
至此,一次自由风格的项目创建并构建完成!
我们可以上服务器上面查看相关的目录:/data/jenkins/jenkins-data/workspace/TEST-01-ERP-BACKEND
在该目录下能够找到我们的打包以及整个项目的代码。
小结
初始化以及简单的构建目标达成,后面会慢慢的针对插件进行说明,实现我们从构建到发布的目的。
【02】Jenkins:第一个项目的更多相关文章
- 如何在jenkins的maven项目中,用mvn命令行指定findbugs的黑名单规则文件
一:问题背景 最近在研究jenkins的过程中,针对maven项目,打算添加findbugs进行静态检查,但我不太想在项目的pom中进行修改,最好可以只修改jenkins的job配置,即配置外部化. ...
- jenkins部署java项目,脚本文件放在远程仓库中 和jar一起打包(六)
jenkins部署java项目到远程linux上,脚本文件和项目一起上传到gogs上,直接执行gogs上的脚本文件来执行项目 (1)新建maven项目 pom.xml的配置 <project x ...
- python+Django创建第一个项目
1.首先搭建好环境 1.1 安装pyhton,Linux系统中,python是系统自带的所以就不用安装 1.2 安装Django框架 使用pip安装: pip install django 1.3 检 ...
- jenkins构建java项目找不到命令mvn,java的解决方法
jenkins构建java项目时出现的报错情况: $ mvn clean install FATAL: command execution failed java.io.IOException: er ...
- Jenkins安装部署项目
Jenkins安装部署项目 配置JDK git maven 部署到服务器 一.新建任务 二.配置jenkins 三.添加构建信息 四.应用.保存 五.踩坑填坑记录 5.1没有jar包的情况 5.2无法 ...
- ReactNative新手学习之路02第一个RN项目
开始第一个RN项目(iOS版)我的电影列表0.1版,后面做列表版 打开上一节项目 index.ios.js,android打开index.android.js.我这里使用的是Atom编辑器,你也可以使 ...
- Surprise团队第一周项目总结
Surprise团队第一周项目总结 团队项目 基本内容 五子棋(Gobang)的开发与应用 利用Android Studio设计一款五子棋游戏,并丰富其内涵 预期目标 实现人人模式:2个用户可以在同一 ...
- [Asp.net MVC]Asp.net MVC5系列——第一个项目
目录 概述 创建第一个项目 添加控制器 总结 概述 本教程是个人一步一步学习的总结,希望能帮到正在进入ASP.Net MVC5方向的朋友,个人也是准备进入ASP.NET MVC5领域,虽然艰辛,但是乐 ...
- AndroidStudio第一个项目HelloWorld
实验内容 在Android Studio中创建项目 创建并启动Android模拟器 项目的编译和运行 实验要求 在安装好的AndroidStudio上建立第一个工程 创建并启动Android模拟器 编 ...
随机推荐
- AI2(App Inventor 2)离线版服务器(AI伴侣2.47版)
提供这个版本的原因: 与app.gzjkw.net的源代码版本尽可能的接近,这样导入app.gzjkw.net源文件的时候不会有“该项目由新版App Inventor系统创建,我们仍然尝试将其加载,但 ...
- Native层和so接口和Java层
一.Java层加载so文件 Android在Java层加载so的接口是System.loadLibrary()逐级调用的过程: System.loadLibrary()系统源码: 987 pub ...
- Python 定时调度
APScheduler APScheduler是基于Quartz的一个Python定时任务框架,实现了Quartz的所有功能,使用起来十分方便.提供了基于日期.固定时间间隔以及crontab类型的任务 ...
- 谁有好的oracle数据库学习书籍,麻烦提供一下,感激不尽
作为一个IT人员,想深入学习一下oracle,以前都只是懂基本的语法,CRUD 数据库设计,数据库优化,底层完全不懂,哪位仁兄有好的书籍可以推荐一下,感激不尽.
- Odoo配置文件
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/11189223.html
- 上云测试,这些关键点你get 到没有
导读,先从云化说起,再谈谈云化形态下,除了常规的功能测试,云化的测试,还需要有几个必须要get到的硬核指标,最后在分别详解这些关键点硬核指标是什么,和如何测试呢.这是个值得深思的问题,希望所有测试人都 ...
- LVS---linux虚拟服务(一)
一.集群cluster 1.集群的产生 2.集群的类型 3.分布式系统 4.集群和分布式的区别 二.LVS 1.为什么使用LVS? 2.LVS术语 3.LVS架构 4.LVS集群的类型 5.关于会话保 ...
- 【使用篇二】SpringBoot整合jsp(6)
1. pom.xml中添加jstl和jasper springboot不推荐使用jsp,所以在spring-boot-starter-web启动器中并没有包括这两个,所以我们需要单独引入: <! ...
- 0629 Flink Meetup 北京站 PPT下载
工程实用问题解决方案介绍,实用
- String的拼接
1.直接定义字符串变量的时候赋值,如果表达式右边只有字符串常量,那么就是把变量存放在常量池里面. 2.new出来的字符串是存放在堆里面. 3.对字符串进行拼接操作,也就是做"+"运 ...