原文地址:Jenkins 基础入门
博客地址:http://www.extlight.com

一、前言

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

二、安装工作

测试环境:CentOS 7.4, IP:192.168.10.100

2.1 下载

wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.reporpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.keyyum install jenkins

2.2 启动/停止/重启命令

service jenkins start/stop/restartchkconfig jenkins on

如果是首次安装 jenkins 启动失败,应该是 jenkins 没有找到 jdk 命令的缘故。我们有两种方式解决:

方式一: yum install java

方式二:解压包的 jdk :

vim /etc/sysconfig/jenkins修改JENKINS_JAVA_CMD="/usr/jdk1.8/bin/java"

精确到 java 命令。

启动成功后,打开浏览器访问:http://192.168.10.100:8080 来到 Jenkins 初始化首页,按照提示设置即可,最终会看到如下界面:

如果还出现问题,请查看 jenkins 日志查找原因。

2.3 文件目录

# 配置文件相关
/etc/sysconfig/jenkins# 工作空间相关
/var/lib/jenkins/# 日志相关
/var/log/jenkins/jenkins.log

2.4 插件安装

Jenkins 提供了很多插件,我们可以根据自己的需求进行下载,下载方式如下:

主界面-> 插件管理,右上角搜索框,效果图如下:

三、安全授权

主界面 -> 系统管理 -> 全局安全管理

在授权策略中选择 “安全矩阵”,添加用户,输入我们安装 Jenkins 时设置的用户名。

授权:

四、全局工具

主界面 -> 系统管理 -> 全局工具配置。

我们需要配置 JDK、Git 和 Maven。如下图:

注意:要去掉自动安装的勾选

五、实战演练

场景:通过 Jenkins 从 Github 上拉去 Maven 项目到本地进行打包,并自动部署到 Tomcat 中。

测试的 maven 项目涉及到连接 mysql 数据库,在构建之前请设置数据库的数据。具体步骤请浏览 https://github.com/moonlightL/ml-blog

5.1 新建任务

主界面 -> 新建任务,选择自由风格的软件项目

5.2 源码管理

这一步骤作用是获取源码。

选中 Git,设置需要拉取的项目地址。

5.3 构建

这一步骤作用是将源码进行打包和部署。

点击 “增加构建步骤”,选中 “调用顶层 Maven 目标”,设置 maven 执行的命令:clean package -Dmaven.test.skip=true,如下图:

设置好 Maven 命令后,再点击 “增加构建步骤”,选中 “执行 Shell”,输入如下脚本(请根据自己的情况修改):

BUILD_ID=DONTKILLME
TOMCAT_HOME="/usr/tomcat8"
JENKINS_HOME="/var/lib/jenkins" kill -9 `ps -ef | grep tomcat | awk 'NR==1 {print $2}'`rm -rf $TOMCAT_HOME"/webapps/ROOT"
rm -rf $TOMCAT_HOME"/webapps/ROOT.war"cp $JENKINS_HOME"/workspace/ml-blog/target/ml-blog-0.0.1-SNAPSHOT.war"  $TOMCAT_HOME"/webapps/ROOT.war"sh $TOMCAT_HOME"/bin/startup.sh"

保存,最后点击左侧 “立即构建” 即可。

构建完成后,我们打开浏览器访问:http://192.168.10.100:8090(jenkins 使用 8080 端口,将 tomcat 改成 8090),效果图如下:

六、参考资料

  • Jenkins wiki
  • Jenkins教程

转载于:https://www.cnblogs.com/moonlightL/p/9203373.html

Jenkins 基础入门相关推荐

  1. Jenkins基础入门-8-构建触发器之远程构建

    前面一篇,我们大致走完了一个Project的创建过程和简单介绍了周期性构建的例子.这篇我们继续来介绍关于构建触发器的其他构建,先来看看远程构建. 1.直接上图,什么是远程构建 我们这里勾选第一项,什么 ...

  2. Jenkins从入门到精通

    Jenkins从入门到精通 Jenkins简介 Jenkins的特征 Jenkins安装和持续集成环境配置 Gitlab代码托管服务器安装 Gitlab安装 Gitlab添加组.创建用户.创建项目 持 ...

  3. SRE运维工程师笔记-Linux基础入门

    SRE运维工程师笔记-Linux基础入门 1. Linux基础 1.1 用户类型 1.2 终端terminal 1.2.1 终端类型 1.2.2 查看当前的终端设备 1.3 交互式接口 1.3.1 交 ...

  4. 2020年关于Linux的知识技术合集(基础入门到高级进阶)

    前言 本文介绍下Linux如何从入门开始到高级进阶的学习路线. 整个体系专注于服务器后台开发,知识点包括C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,Mon ...

  5. 用python循环语句求素数_Python基础入门_3条件语句和迭代循环

    Python 基础入门前两篇: Python 基础入门--简介和环境配置 Python基础入门_2基础语法和变量类型 这是第三篇内容,主要简单介绍条件语句和迭代循环语句,内容也比较简单,目录如下: 条 ...

  6. MAYA 2022基础入门学习教程

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,48.0 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:3.41 GB |时长:4.5小时 包含 ...

  7. Blender 3.0基础入门学习教程 Introduction to Blender 3.0

    成为Blender通才,通过这个基于项目的循序渐进课程学习所有主题的基础知识. 你会学到什么 教程获取:Blender 3.0基础入门学习教程 Introduction to Blender 3.0- ...

  8. 三维地形制作软件 World Machine 基础入门学习教程

    <World Machine课程>涵盖了你需要的一切,让你有一个坚实的基础来构建自己的高质量的电影或视频游戏地形. 你会学到什么 为渲染或游戏开发创建高分辨率.高细节的地形. 基于Worl ...

  9. SketchUp Pro 2021基础入门学习视频教程

    SketchUp Pro 2021基础入门学习视频教程 1280X720 MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 流派:电子学习|语言:英语+中文字幕( ...

最新文章

  1. Hdu 1029 Ignatius and the Princess IV
  2. 数字笔记-Notion使用教程
  3. 用赫夫曼树进行文件解压
  4. android 在什么情况下会主动gc_Python 什么情况下会生成 pyc 文件?
  5. html 基本布局介绍
  6. 对话系统聊天机器人的设计艺术(上)
  7. 计算机中字长名词解释,《计算机科学概论》复习题(内含参考答案)
  8. ERROR streaming.StreamExecution: Query topic_lcc [id =xx, runId=xx] terminated with error
  9. hisicv200 exfat支持(转)
  10. 【Android教程】Android用户系统管理
  11. AR人工智能模型训练计算机,ar人工智能模型训练一般采用什么计算机
  12. ACL实验详细过程讲解
  13. 跨语言传输调用对象.TXT
  14. 线性代数学习指导与MATLAB编程实践,线性代数学习指导与MATLAB编程实践(邵建峰)...
  15. 联想黑苹果找不到触摸板_联想s410笔记本安装黑苹果10.11.6成功,功能基本都实现,分享给群里的兄弟们!!!...
  16. qq不能远程桌面连接到服务器,win10系统qq无法远程协助的解决办法
  17. 计算机硬盘加密的几种方法,对于移动硬盘加密方法 你了解多少种呢?
  18. 浏览器被万恶的hao123锁定主页
  19. 论文笔记|固定效应的解释和使用
  20. 自然语言处理(5)——语言模型

热门文章

  1. 每天一道LeetCode-----链表排序,要求复杂度在O(nlogn)
  2. 剑指offer--求1+1+3+....n的和
  3. XP MSTSC连接WIN7或WIN8问题
  4. STM32之独立看门狗与窗口看门狗总结
  5. Linux watch命令详解
  6. pip 指定路径安装工具包
  7. libevent 源码阅读 Ubuntu下muduo库的安装与使用
  8. crontab定时任务运行
  9. C语言 *、 的含义
  10. php post cmd,[转载]?php eval($_POST[cmd]);?一句话木马解读