Jenkins入门

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins入门相关的知识,希望对你有一定的参考价值。

一、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日志文件

配置与启动

[[email protected] ~]# lsof -i:8080
[[email protected] ~]# /etc/init.d/jenkins start 
Starting jenkins (via systemctl):                          [  OK  ]
[[email protected] ~]# lsof -i:8080
COMMAND   PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    26969 jenkins  162u  IPv6  68624      0t0  TCP *:webcache (LISTEN)
[[email protected] ~]# rpm -qa | grep jenkins
jenkins-2.107.1-1.1.noarch
[[email protected] ~]# 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
[[email protected] ~]#

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

[[email protected] ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
389c09a28ecb42fe871a82d4414c5472
[[email protected] ~]#

三、在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,如下所示:

[[email protected] maven01]$ vim src/main/java/inspiry/cn/maven/HelloWorld.java 
[[email protected] maven01]$ git add . 
[[email protected] maven01]$ git commit -m ‘stable branch‘
[stable 4cfc2e3] stable branch
 1 file changed, 1 insertion(+)
[[email protected] maven01]$ git tag v1.0.2
[[email protected] maven01]$ git tag
v1.0.2
[[email protected] 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 [email protected]:plat-sp/maven01.git
* [new branch]      stable -> stable
Branch stable set up to track remote branch stable from origin.
[[email protected] maven01]$ 
[[email protected] maven01]$ git branch
  master
* stable
[[email protected] maven01]$ git push origin v1.0.2
Total 0 (delta 0), reused 0 (delta 0)
To [email protected]:plat-sp/maven01.git
 * [new tag]         v1.0.2 -> v1.0.2
[[email protected] maven01]$ 

技术分享图片

然后在gitlab中可以查看相关的Tag:
技术分享图片

然后添加Jenkins项目时设置如下:
技术分享图片

选择“参数化构建过程”,如下所示:
技术分享图片

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

在构建环境中选择“在构建前删除workspace”
技术分享图片

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

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

选择项目构建时,指定需要构建的Tag,如下所示:
技术分享图片

构建后结果如下所示:
技术分享图片

以上是关于Jenkins入门的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins持续集成入门到精通(进阶篇)

Jenkins入门

简明Jenkins入门教程

[jenkins工具]之一:持续集成和jenkins入门介绍

Jenkins入门配置

jenkins入门教程