一、Jenkins概述

二、安装Jenkins

https://pkg.jenkins.io/redhat-stable/
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
 

相关包介绍

/usr/lib/jenkins/jenkins.war    WAR包
/etc/sysconfig/jenkins 配置文件
/var/lib/jenkins/ 默认的JENKINS_HOME目录
/var/log/jenkins/jenkins.log Jenkins日志文件
 

配置与启动

[root@jspgou ~]# lsof -i:
[root@jspgou ~]# /etc/init.d/jenkins start
Starting jenkins (via systemctl): [ OK ]
[root@jspgou ~]# lsof -i:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java jenkins 162u IPv6 0t0 TCP *:webcache (LISTEN)
[root@jspgou ~]# rpm -qa | grep jenkins
jenkins-2.107.-1.1.noarch
[root@jspgou ~]# rpm -ql jenkins
/etc/init.d/jenkins
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins
/usr/lib/jenkins
/usr/lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/jenkins
/var/lib/jenkins
/var/log/jenkins
[root@jspgou ~]#
 

在浏览器中登录,初始密码在如下文件中:

[root@jspgou ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
389c09a28ecb42fe871a82d4414c5472
[root@jspgou ~]#
 

三、在WEB中配置Jenkins

登录

系统管理--添加插件

添加ssh、maven等相关插件

以下插件需要选择安装
Ansible plugin
Ant Plugin
Blue Ocean
Build Timeout
Email Extension Plugin
Git Parameter Plug-In
Gitlab Hook Plugin
GitLab Plugin
Maven Invoker plugin
Maven Integration plugin
Publish Over SSH
SSH plugin
SSH Slaves plugin

方法如下图所示:

系统管理--系统配置

系统配置--指定管理员邮箱地址

系统配置--设置邮件通知的SMTP服务器及其相关配置

系统配置--设置SSH 远程服务器地址及其配置

如果需要指定私钥文件,还需要将私钥复制到/var/lib/jenkins 目录,如下所示:

mkdir  .ssh
cp ~/.ssh/id_rsa .ssh/
chown -R jenkins.jenkins .ssh

如下图所示:

系统管理--全局工具配置

全局工具配置--配置jdk

全局工具配置--配置maven

在Gitlab创建一个Jenkins用户:

并将Jenkins用户加入到相应的组(Group)

在Jenkins中添加相关的Credentials:

将Gitlab中Jenkins用户的username 和密码填入Credentials中:

创建Jenkins项目(例1):

配置项目中的git server

添加访问git server的ssh密钥(私钥)

配置项目中的构建(使用maven构建包)

配置项目中的构建后动作

在配置完毕的项目上进行构建

查看本次构建过程

构建报告

创建Jenkins项目(例2):
首先在使用git 为 code 添加Tag,如下所示:

[eric@meteor maven01]$ vim src/main/java/inspiry/cn/maven/HelloWorld.java
[eric@meteor maven01]$ git add .
[eric@meteor maven01]$ git commit -m 'stable branch'
[stable 4cfc2e3] stable branch
1 file changed, 1 insertion(+)
[eric@meteor maven01]$ git tag v1.0.2
[eric@meteor maven01]$ git tag
v1.0.2
[eric@meteor maven01]$ git push -u origin stable
Counting objects: 17, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (9/9), 583 bytes | 0 bytes/s, done.
Total 9 (delta 2), reused 0 (delta 0)
remote:
remote: To create a merge request for stable, visit:
remote: http://192.168.60.119/plat-sp/maven01/merge_requests/new?merge_request%5Bsource_branch%5D=stable
remote:
To git@192.168.60.119:plat-sp/maven01.git
* [new branch] stable -> stable
Branch stable set up to track remote branch stable from origin.
[eric@meteor maven01]$
[eric@meteor maven01]$ git branch
master
* stable
[eric@meteor maven01]$ git push origin v1.0.2
Total 0 (delta 0), reused 0 (delta 0)
To git@192.168.60.119:plat-sp/maven01.git
* [new tag] v1.0.2 -> v1.0.2
[eric@meteor maven01]$

然后在gitlab中可以查看相关的Tag:

然后添加Jenkins项目时设置如下:

选择“参数化构建过程”,如下所示:

指定gitlab 仓库时使用http方式,并选择相关包含读取权限的credentials,如下所示:

在构建环境中选择“在构建前删除workspace”

构建过程选择全局设置的MAVEN名称,并指定参数,如下所示:

构建后将target/*.jar 包推到SSH server 的指定目录下,并执行相关脚本或shell语句,如下所示:

选择项目构建时,指定需要构建的Tag,如下所示:

构建后结果如下所示:

转自

Jenkins入门-WorkNote-51CTO博客 https://blog.51cto.com/caiyuanji/2118330

Jenkins入门【转】的更多相关文章

  1. Jenkins入门系列之——02第二章 Jenkins安装与配置

    2014-12-08:已不再担任SCM和CI的职位,Jenkins的文章如无必要不会再维护. 写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之——03 ...

  2. [转载] Jenkins入门总结

    转载自http://www.cnblogs.com/itech/archive/2011/11/23/2260009.html 在网上貌似没有找到Jenkins的中文的太多的文档,有的都是关于Huds ...

  3. Jenkins入门总结

    Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1.持续的软件版本发布/测试项目. 2.监控外部调用执行的工作 在网上貌似没有找到Jenkins的中文的太多的文 ...

  4. Jenkins入门系列之

    Jenkins入门系列之——00答疑解惑 Jenkins进阶系列之——11修改Jenkins用户的密码 Jenkins进阶系列之——12详解Jenkins节点配置 Jenkins进阶系列之——13修改 ...

  5. Jenkins入门-转

    reference : http://www.cnblogs.com/itech/archive/2011/11/23/2260009.html 在网上貌似没有找到Jenkins的中文的太多的文档,有 ...

  6. Jenkins 入门系列--Jenkins 的安装配置

    写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之--03PDF文档下载 第二章 Jenkins安装与配置 2 Jenkins安装 在最简单的情况下,J ...

  7. Jenkins入门教程

    Jenkins入门教程 @ 目录 Jenkins入门教程 1. 什么是Jenkins 1.1 我们为啥需要jenkins 1.2. Jenkin实现原理 2. Jenkins搭建 2.1. Jenki ...

  8. Jenkins入门,介绍、安装

    一.介绍 Jenkins: 三.安装 Jenkins:        第一种方式:        下载 windows 版本:进入 Jenkins 官网:https://jenkins.io/ 进入下 ...

  9. Jenkins入门之新建任务

    简单了解了Jenkins界面之后,下面我们简单介绍一下如何使用jenkins创建一个任务.打开Jenkins web管理界面之后,点击左侧最上方的NewItem图标 便会进入如下界面 产生要输入一个构 ...

随机推荐

  1. Deep learning_CNN_Review:A Survey of the Recent Architectures of Deep Convolutional Neural Networks——2019

    CNN综述文章 的翻译 [2019 CVPR] A Survey of the Recent Architectures of Deep Convolutional Neural Networks 翻 ...

  2. Django使用Redis进行缓存详细最全流程

    背景和意义服务器数据非经常更新.若每次都从硬盘读取一次,浪费服务器资源.拖慢响应速度.而且数据更新频率较高,服务器负担比较大.若保存到数据库,还需要额外建立一张对应的表存储数据.在Django中建立表 ...

  3. abp学习(四)——根据入门教程(aspnetMVC Web API进一步学习)

    Introduction With AspNet MVC Web API EntityFramework and AngularJS 地址:https://aspnetboilerplate.com/ ...

  4. minhash pyspark 源码分析——hash join table是关键

    从下面分析可以看出,是先做了hash计算,然后使用hash join table来讲hash值相等的数据合并在一起.然后再使用udf计算距离,最后再filter出满足阈值的数据: 参考:https:/ ...

  5. 错误:找不到或无法加载主类(myEclipse and IDEA)

    一.myEclipse: 一个简单的main类启动时报无法加载主类的处理方法 1.找到Prolems--->Error--->右键Delete 2.点击项目,右键刷新 3.点击导航栏上的P ...

  6. Spring源码窥探之:xxxAware接口

    Aware接口是一个标志性接口,继承此接口的接口xxxAware的实现类,在容器创建完成后,会回调实现方法,下面举例: 1. 有很多xxxAware接口,下面举两个例子 /** * descripti ...

  7. c#嵌套CMD窗口

    解决方法一: 自己放一个文本框,改成黑色,然后输入命令,执行时,你Process.Start cmd ,此时CMD窗口不显示,然后,将CMD的返回值,再取出来,设回文本框. 如何用这种方法实时获取cm ...

  8. linux下新磁盘创建lvm、扩容lvm

    1.首先查看磁盘fdisk -l2.进入磁盘fdisk /dev/sdbn 创建新磁盘p 创建主分区创建分区ID 1-4为主分区根据提示选择磁盘开始位置(默认空格就好)选择结束位置(新增磁盘大小)t ...

  9. netty: 解决粘包拆包: 分隔符DelimiterBasedFrameDecoder,定长消息FixedLengthFrameDecoder

    DelimiterBasedFrameDecoder 自定义分隔符 给Server发送多条信息,但是server会讲多条信息合并为一条.这时候我们需要对发生的消息指定分割,让client和server ...

  10. loj #6485. LJJ 学二项式定理 单位根反演

    新学的黑科技,感觉好nb ~ #include <bits/stdc++.h> #define ll long long #define setIO(s) freopen(s". ...