zoukankan      html  css  js  c++  java
  • 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右侧设置齿轮图标,设置新的管理员密码,应用、保存即可

    在这里插入图片描述

  • 相关阅读:
    bzoj2946 [Poi2000]公共串(SA,SAM)
    77 最长公共子序列
    C++ lower_bound 与 upper_bound 函数
    76 最长上升子序列
    75 寻找峰值
    C++标准输入问题
    74 第一个错误的代码版本
    73 前序遍历和中序遍历树构造二叉树
    72 中序遍历和后序遍历树构造二叉树
    71 二叉树的锯齿形层次遍历
  • 原文地址:https://www.cnblogs.com/wztshine/p/13416376.html
Copyright © 2011-2022 走看看