Jenkins安装与发布

1.背景

看了两篇文章,整合了一下。
原文链接:
https://blog.csdn.net/u012637358/article/details/84953769

https://blog.csdn.net/miss1181248983/article/details/82840006

2、准备工作

2.1 安装环境

操作系统 Java Tomcat
Win10 x64 JDK8 tomcat8

JDK安装就不赘述了,记得配置JAVA_HOME, JRE_HOME,tomcat安装可以看这里

2.2 下载Jenkins

官方网址

在这里插入图片描述

在这里插入图片描述

2.3部署.war到tomcat下

将刚刚下载的 jenkins.war 放到 tomcat的 ./webapps下,启动tomcat服务:./bin/startup.bat
在这里插入图片描述

2.4 Jenkins安装

浏览器打开:

http://localhost:8080/jenkins

打开下图中红色的路径,里面的那一串字符就是密码

在这里插入图片描述
将该目录文件内容,设置上。

2.5安装Jenkins插件

直接选择安装推荐的插件就行

在这里插入图片描述

3. 了解Jenkins

上面等插件安装完后,就进入到下面界面,提示要创建第一个admin用户,并设置用户名密码

在这里插入图片描述

这里我直接创建用户名为admin,密码自定义

在这里插入图片描述

点击保存并完成

在这里插入图片描述

提示配置jenkins URL,这里保持默认即可,继续点击保存并完成

在这里插入图片描述

提示jenkins已经就绪,开始使用jenkins

3.1 新增插件:

点击jenkins,会出现下拉菜单,如图所示

搜索:publish over ssh,勾选并直接安装,安装完成后,手动重启jenkins,可以再去tomcat那里运行一下startup.bat

系统管理->系统配置,在最下方找到刚才安装的publish over ssh

配置完成后,点击Test一下,如果出现Success,说明成功了,可以保存了。

3.2 创建任务

回到首页,点击创建一个新任务,自定义任务名称,选择构建一个自由风格的软件项目

在这里插入图片描述

点击确定

在这里插入图片描述

描述:任务描述

源码管理选择Git(如果使用SVN就选择Subversion);

Repository URL选择自己公共仓库的地址,这里为了方便我使用别人的公共仓库,如果是私有仓库,点击Add,填写私有仓库的登陆信息;

Branches to build默认为*/master,意思是发布代码的分支为master分支;

构建触发器构建环境留空;

构建选择Send files or execute commands over SSH

Name选择对应的服务器,还记得上面填写publish over ssh时填写的主机名 remote 吗,就是那个

Source files填入**/**,表示要发布的代码为全部文件

Remote directory填入/tmp/jenkins_test(自定义放在远程主机的哪个位置),

Remove prefix:去前缀

Exec command:发布完成后执行的命令

在这里插入图片描述

点击Add Server可以增加更多台服务器,在生产环境下通常也是多台服务器一起发布代码。点击保存

在这里插入图片描述

3.3 构建项目

点击左侧立即构建,会出现构建历史,其中#1表示第一次构建

在这里插入图片描述

点击#1,点击控制台输出

在这里插入图片描述

可以查看构建成功,通常构建完,不管是成功还是失败都会有邮件通知。这里因为没有配置邮件,所以没办法接收到邮件。

到主机:lzx1 上查看

# ll !$
ll /tmp/jenkins_test/
total 100
drwxr-xr-x 2 root root    66 Sep 21 02:42 D11Z
drwxr-xr-x 2 root root   260 Sep 21 02:42 D12Z
drwxr-xr-x 2 root root    24 Sep 21 02:42 D13Z
drwxr-xr-x 2 root root  4096 Sep 21 02:42 D14Z
drwxr-xr-x 2 root root  4096 Sep 21 02:42 D15Z
drwxr-xr-x 2 root root    25 Sep 21 02:42 D17Z
drwxr-xr-x 2 root root    76 Sep 21 02:42 D18Z
drwxr-xr-x 2 root root   155 Sep 21 02:42 D19Z
drwxr-xr-x 2 root root    83 Sep 21 02:42 D20Z
drwxr-xr-x 2 root root   200 Sep 21 02:42 D21Z
drwxr-xr-x 2 root root   128 Sep 21 02:42 D22Z
-rw-r--r-- 1 root root 18044 Sep 21 02:42 LICENSE
-rw-r--r-- 1 root root   419 Sep 21 02:42 README.md
-rw-r--r-- 1 root root 66243 Sep 21 02:42 习题答案.txt      
1234567891011121314151617

和我们发布的源是一致的,如下图

在这里插入图片描述

如果在源上面做了变更,继续点击立即构建,如果构建成功,那么在目标机器上也可以看到变更的内容。

4. Jenkins邮件配置

系统管理系统设置,找到邮件通知进行配置,这里我使用的是163邮箱

在这里插入图片描述

在这里插入图片描述

发邮件的地址必须与管理员地址一致,否则发邮件会报错。同时必须在163邮箱设置授权码,并且在上面设置密码的地方填入该授权码,不然也是发送不了邮件。

在这里插入图片描述

点击Test configuration,如果显示为“Email was successfully sent",说明邮箱配置成功

在这里插入图片描述

到163邮箱查看是否收到刚刚测试的邮件

在这里插入图片描述

收到了,邮件配置成功。点击保存,进入到之前的任务中,点击配置

找到构建后操作,选择E-mail NotificationRecipients这里填入接收邮件的邮箱地址

在这里插入图片描述

勾选保持默认即可,点击保存

现在来测试,故意让构建不成功,看是否能接收邮件。

  • 首先lzx1上更改目标目录的权限,使之无法写入:
# cd /tmp/

# rm -rf jenkins_test/*

# chattr +i jenkins_test/				#加上i权限,让它无法写入
12345
  • 回到浏览器,点击立即构建,查看控制台输出

在这里插入图片描述

  • 到163邮箱进行查看:

在这里插入图片描述

邮件收到,邮箱配置成功。

但这样有一点不好,只有构建失败才会发邮件提示,我想让它不管构建成功还是失败都发邮件提示。


使用插件email-ext配置邮件

想让它不管构建成功还是失败都发邮件来提示,就必须要安装一个插件,该插件名字是Email Extension Plugin。如果你是按照上面步骤来的,那么该插件就已经安装。系统管理插件管理查看是否安装此插件,没有就安装。

在这里插入图片描述

系统管理系统设置Extended E-mail Notification,填写SMTP server,勾选Use SMTP Authentication,再填写User NamePasswordPassword这里填邮箱授权码,然后SMTP port这里填25

在这里插入图片描述

往下拉,定位到Default Triggers,选择always,表示不管什么情况都会发邮件提示。之后再清空之前设置的邮箱通知,应用、保存即可

在这里插入图片描述

打开任务(我这里是lzx_php)→ 配置,去掉构建后操作,点击增加构建后操作步骤,选择Editable Email Notification,在Project Recipient List那里添加自己的邮箱,然后点击Advanced Setting,定位到Triggers,可以在Add Trigger处增加发邮件的条件

在这里插入图片描述

在这里插入图片描述

现在来测试,看是否能接收邮件。

  • 先在lzx1上改回目标目录原来的权限:
# chattr -i jenkins_test/				#让该目录可以写入
1
  • 回到浏览器,点击立即构建,查看控制台输出

在这里插入图片描述

  • 到163邮箱进行查看:

在这里插入图片描述

邮件收到,邮箱配置成功。


破解管理员密码

人难免会犯些错误,如果我们不小心忘记了管理员密码,我们如何去修改回来呢?

  • lzx上编辑admin配置文件:
# cd /var/lib/jenkins/users/admin/

# ls
config.xml

# vim config.xml				#找到<passwordHash>这行,用下面一行替换掉原来的
<passwordHash>#jbcrypt:$2a$10$eJAMBW3qb/ijrFsSxkJnDOB747e0mFWSR03UmLCn96E4N7vL5BYzC</passwordHash>

这样你的密码就会被重置为123456啦
123456789
  • 重启服务,进入浏览器界面修改新的管理员密码:
# systemctl restart jenkins				#需要重启服务,才能使用123456去登录
1

回到浏览器界面,使用123456去登录,系统管理管理用户 → admin右侧设置齿轮图标,设置新的管理员密码,应用、保存即可

在这里插入图片描述

原文地址:https://www.cnblogs.com/wztshine/p/13416376.html