zoukankan      html  css  js  c++  java
  • 自动化测试1——Jenkins的几种安装方式以及邮件配置

    Jenkins介绍

    Jenkins是一个java开发的、开源的、非常好用持续集成的工具,它能帮我们实现自动化部署环境、测试、打包等等的工作,还可以在构建任务成功或者失败之后给我们发邮件通知。

    什么叫持续集成呢,就是能重复、持久的去运行一个任务。

    Jenkins下载、安装

    一、通过war包安装

    Jenkins的下载地址是https://www.jenkins.io/zh/download/,下载的时候可以选择各个版本的以及对应操作系统的版本,一般你下载的时候下载通用的.war文件即可,这个不管在哪个操作系统上都可以运行,但是前提是你要装jdk,因为Jenkins是java开发的。

    本篇博客用的Jenkins是2.17版本,jdk的版本是1.7如果你是在官网上下载最新的Jenkins版本,需要1.8的jdk,否则可能启动Jenkins失败。

    如想下载历史版本的war包,可在 http://updates.jenkins-ci.org/download/war/ 中下载

    下面图是Jenkins官网上.war文件的截图。

     

    下载之后,启动Jenkins就很简单了,在命令行里面进入到Jenkins所在的目录下,然后执行 java -jar jenkins.war启动即可,这种方式在linux、mac、Windows下面全部都好使。

    启动之后,在命令行里面看日志,最后显示Jenkins is fully up and running,Jenkins启动成功。

    1
    2
    cd Desktop           #下载到了桌面,cd到桌面
    java -jar jenkins.war  #启动Jenkins

    二、通过docker安装

    docker的安装及使用参考:https://www.cnblogs.com/feng0815/p/14118365.html

    1、安装Jenkins镜像

    • 安装最新的稳定版本:docker pull jenkins/jenkins:lts
    • 安装最新版本:docker pull jenkins/jenkins

    2、启动容器

    docker run -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home jenkins:lts

    • 8080 端口是访问 jenkins 网页的端口,如果你想在 80 端口访问,就改成 -p 80:8080
    • 50000 端口与 slave 有关,参考 jnlp-slave 这个镜像,里面使用的 port。
    • -v 参数挂载了宿主机一个指定目录到 /var/jenkins_home ,相当于设置了自定义的 JENKINS_HOME

    jenkins 容器中添加 git, maven 等组件

    一般我们使用 jenkins 的时候,需要用到 git, jdk, maven 等等的组件,在使用 docker-jenkins 的时候,可以用 -v 参数挂载到 /usr/bin 目录中,并不需要再在镜像中进行安装,也不需要基于 jenkins 镜像重新写 dockerfile,保持镜像干净。

    jenkins 容器中的公钥私钥

    很常用的 jenkins 构建操作有:在 Execute shell 步骤中用 ssh 的方式远程登录上其他服务器,服务器上面的执行 shell 脚本。 ssh 方式需要用到的 public key 和 private key 也是可以用 -v 参数挂载到 /var/jenkins_home/.ssh 目录中。注意,这里不挂载到容器的 /root/.ssh 目录,因为整个 jenkins 容器是以 jenkins 用户来运行的。

    在 jenkins 容器中调用 docker

    有两种方式来调用 docker :

    1. 通常用在 docker 单节点下,可以挂载 docker 到 jenkins 容器中,添加如下参数: -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker
    2. 通常用在 docker 集群中,可以使用 jenkins 的 docker 插件,连接到 Docker server REST API(http://master-ip:2375):

    简单的方式启动 Docker server REST API

    在安装容器管理工具 shipyard 的文档中,发现可以用 shipyard/docker-proxy 这个镜像来暴露 2375 端口, 得到一个 Docker server REST API

    复制代码
    docker run 
        -ti 
        -d 
        -p 2375:2375 
        --hostname=$HOSTNAME 
        --restart=always 
        --name shipyard-proxy 
        -v /var/run/docker.sock:/var/run/docker.sock 
        -e PORT=2375 
        shipyard/docker-proxy:latest 
    复制代码

    将 http://master-ip:2375 填入 jenkins 系统设置中的 Docker URL 就可以了(master-ip 是 docker server 的 ip)。 

    一个 jenkins 示例

    我启动的 jenkins 里面包含 git, docker, 一份宿主机的公钥密钥, 自定义 JENKINS_HOME, 使用的启动命令如下:

    复制代码
    docker run 
        -d -p 8080:8080 -p 50000:50000 
        -v /home/docker/jenkins_home/:/var/jenkins_home 
        -v /var/run/docker.sock:/var/run/docker.sock 
        -v $(which docker):/usr/bin/docker 
        -v $(which git):/usr/bin/git 
        -v ~/.ssh:/var/jenkins_home/.ssh 
        --name=jenkins jenkins:lts
    复制代码

    三、通过Homebrew安装 

    对于Mac,可直接使用Homebrew工具进行安装,注意:该方法指适用于Mac

    安装命令:

    • 安装最新的 LTS 版本:brew install jenkins-lts
    • 安装特定的 LTS 版本:brew install jenkins-lts@YOUR_VERSION
    • 启动 Jenkins 服务:brew services start jenkins-lts
    • 重新启动 Jenkins 服务:brew services restart jenkins-lts
    • 更新 Jenkins 版本:brew upgrade jenkins-lts

    注意,通过brew 安装的Jenkins版本可能不是最新的,而且通过brew upgrade jenkins-lts命令可能也更新不到最新版本的Jenkins,此时我们可以通过系统管理中的版本更新中进行更新新版本,如下图

     

    或者直接下载最新版被的war包,切换到目录cd ~/.jenkins,然后用最新下载的war包替换文件夹中的war

    修改默认端口的方法:

    1. 打开文件 vi /usr/local/opt/jenkins/homebrew.mxcl.jenkins.plist

      LTS 版本的路径:/usr/local/opt/jenkins-lts/homebrew.mxcl.jenkins-lts.plist 

    2. 修改默认端口号

    访问Jenkins、Jenkins配置

    刚才那种方式启动的Jenkins默认的端口号是8080,访问Jenkins的话,就是你的 ip:8080,我的是本机启动的,所以我用localhost:8080访问,如果你是在你服务器上部署的话,那么要写你们服务器的ip才能访问~

    第一次打开Jenkins,它会让你解锁,输入admin的初始化密码,这个密码在页面上有提示,在c盘的一个目录下,去c盘下面找到它,用txt打开,复制出来,填进去就可以了,如下图:

    填完初始密码之后,会出来让你选择插件,是选择建议安装的插件还是自定义插件,咱们选择安装建议安装的插件即可,剩下的咱们需要什么再安装什么,它会自动安装这些插件,安装插件过程可能比较久,要耐心一点,如下图:

    下面是安装插件页面

     

    插件安装完成之后,要输入一个管理员的用户名和密码和邮箱,这里要记住哦,以后登录都要用这个,邮箱不能乱写,要写你以后用它发邮件使用的邮箱,要不然发邮件会失败。

    至此Jenkins的安装、基本配置才算真正结束,下面是登录进来的样子

    Jenkins配置邮件发送

    使用admin用户登录,在Jenkins系统管理中,找到全局设置,在全局设置里面有Jenkins Location,下面有个系统管理员邮件地址,把这个写成刚才创建admin用户时输入的邮箱地址。

    然后继续往下找,再找到邮件通知,再点邮件通知下面的高级,这个才是配置发邮件的地方。

    smtp服务器是smtp服务器的地址,你用的是哪个邮箱就写哪个邮箱的smtp服务器

    要勾选上使用SMTP认证,这里是输入邮箱的账号密码的,注意qq邮箱和163邮箱都是要输入授权码才可以的,不能直接用密码,而且还要在设置里面开启SMTP。

    如果邮箱是ssl协议的,那么你要勾上使用SSL协议,比如qq邮箱就是用的ssl协议

    下面还有个SMTP端口号,不用写,Jenkins是会自动帮你写端口号,如果你们的邮箱服务器端口号用的不是默认的,SMTP的默认端口号是25,SMTPSSL默认端口号是465,如果你们公司的邮件服务器是自己搭建的,端口号改了你就得这里写上。

    下面是截图

    邮件配置完成,下面咱们来测试一下,到底能不能成功。

    继续往下找,有一个通过发送测试邮件测试配置,勾上它,它会让你输入一个邮箱,然后点下Test configuration,就可以测试啦,下面可以看到我已经收到Jenkins发的测试邮件啦。

    下面是收到邮件的截图。

    终于ok啦,Jenkins的安装、基本配置和邮件配置就是这样了,快去试试吧。

     

  • 相关阅读:
    c#中开发ActiveX的学习笔记
    [转]李战大师悟透delphi 第七章 组织你的模块
    在网页中实现QQ的屏幕截图功能
    vs.net的调试小技巧之#define debug(适合新手)
    socket中的byte消息格式设计
    [转]李战大师悟透delphi第五章 包
    [转]李战大师悟透delphi 第九章 多层体系结构
    [转]李战大师悟透delphi第一章 delphi的原子世界
    重温delphi之控制台程序:Hello World!
    silverlight中的socket编程注意事项
  • 原文地址:https://www.cnblogs.com/R-bear/p/15032250.html
Copyright © 2011-2022 走看看