jenkins 实现 持续集成 windows + linux+svn+ssh

本文详细介绍了如何在Windows和Linux环境下安装配置Jenkins服务,实现Maven项目的持续集成。包括中心服务器的Jenkins安装、SSH服务搭建、Maven项目配置、邮件通知设置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jenkins 实现 持续集成 windows + linux

  • 中心服务器安装 jenkins 服务
  • 项目服务器安装ssh服务
  • maven 项目jenkins 配置
    在这里插入图片描述

中心服务器安装 jenkins 服务

windows 版

备注:一下以msi为例,也可自己下War包放tomcat启动服务

Jenkins的下载地址: https://jenkins.io/download/

在这里插入图片描述

Jenkins的安装:一路Next,均默认值,如果需要更改安装路径也可以自己更改

具体步骤如下:

1.下载下来一个压缩包jenkins-2.89.4.zip,然后解压缩

2.点击jenkins.msi文件进行安装,界面展示如下:

在这里插入图片描述

3.点击‘Next’按钮进行下一步
可以更换目录,剩下的就一路下一步就可以了

4.配置端口号:

  •   先去停掉服务

在这里插入图片描述

  • 修改端口号

安装目录下找jenkins.xml 文件修改端口号如下:
(默认安装目录: C:\Program Files (x86)\Jenkins)

在这里插入图片描述

  • 修改完后重新启动服务

5.安装成功后直接访问:http://localhost:8888/可以看到的界面如下

在这里插入图片描述

    直接打开红色部分提示的文件,复制内容到当前密码框

6.录入秘钥会让你选择需要安装的插件,我选择安装的全部,展示的内容如下:

在这里插入图片描述

在这里插入图片描述

7.创建管理员账号
在这里插入图片描述

备注:如果登录账号后显示空白,可重启服务

8.加载完展示的内容如下:

在这里插入图片描述

以上就是安装Jenkins成功了

linux版

安装java(jenkins需要java)
下载jenkins的官网repo源
rpm导入jenkins官网的公钥(因为是https下载的)
安装jenkins。

#yum install java
#wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
#rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
#yum -y install jenkins

配置文件在/etc/sysconfig/jenkins,web服务(jetty)默认使用8080端口,若要修改,编辑配置文件里JENKINS_PORT变量;建议改成8081(如果你用gitlab的unicorn也默认8080端口),把8080留给gitlab。

然后设置防火墙、启动/开机启动jenkins

#firewall-cmd --zone=public --add-port=8081/tcp --permanent
#firewall-cmd --reload
#systemctl start jenkins
#systemctl enable jenkins

注: firewall-cmd命令含义:

  1. –zone #作用域
  2. –add-port=8081/tcp
  3. #添加端口,格式为:端口/通讯协议
    –permanent #永久生效,没有此参数重启后失效。

日志存储在/var/log/jenkins/jenkins.log。

接着就可浏览器访问localhost:8081,访问不了的话,看看是否防火墙。

根据提示输入验证随机密码,然后安装插件,此时可能提示
“Jenkins maybe offline”,因为你没有科学上网,所以挂个VPN吧骚年。
如果日后想要升级的话,直接重新 #yum -y install jenkins 即可。

2 配置
安装成功后,登录到localhost:8081,系统要求你Unlock Jenkins:

#cat /var/lib/jenkins/secrets/initialAdminPassword

看一下系统中的那串随机密码然后输入。
接着会给你推荐插件,你可以选择Install suggested plugins,也可以Customize。
如果自定义,建议必装的插件:

  • Git Plugin:使用Git作为源代码管理
  • Python Plugin:Adds the ability to execute python scripts as build steps.
  • Violations:代码质量检测,支持pylint、jslint等
  • Email Extension Plugin: 邮件通知服务。

配置邮件服务
1 【系统管理 - 系统设置】里,下拉找到【Jenkins Location】,输入系统管理员邮件地址(以qq为例,如12345@qq.com)。
2 下拉到最后,找到【邮件通知】。【SMTP服务器】输入【smtp.qq.com】;【用户默认后缀】输入【@qq.com】;点击高级并勾选【使用SMTP认证】;【用户名】一定要和上面系统管理员邮件地址相同,如【12345@qq.com】;【密码】可以是【账户密码/客户端授权码】;勾选【使用ssl协议】,【SMTP】端口使用【465】;【Reply-ToAddress输入和上方相同的【12345@qq.com】,【字符集】用utf-8。
勾选【通过发送测试邮件测试配置】,然后输入一个email地址,点击测试并检查是否收到即可。
注意:你的管理员邮箱(即12345@qq.com)必须要开通POP3/SMTP服务,具体可以登录QQ邮箱,【设置 - 账户 - 开启服务】中勾选。我配置时开了两个:【POP3/SMTP服务】、【IMAP/SMTP服务】。

项目服务器安装ssh服务(windows)

安装ssh服务有两种方式: freeSSHdpowershellserver

  • freeSSHd 下载及安装

    下载地址 http://www.freesshd.com/?ctt=download


    在这里插入图片描述

    这两个都下

    先安装 freeSSHd

    它会自动为freeSSHD添加系统服务,如下图所示:

    它会自动开启ssh服务:

    会弹出一个命令行窗口,显示开启了SSH服务,该命令行窗口一闪而过。

    最后用 freeUserImport.exe 工具导入登录用户,如下图所示:


freeSSHd 设置:

  • ssh端口配置

在这里插入图片描述

listen address : 选择本机地址

port : 选择未被占用的端口

  • password adthentication 这项要选择 required 不然 外部连接可能会报密码错误

    在这里插入图片描述

  • ssh账号配置

在这里插入图片描述

选择 NT authentication 标识使用用户系统密码

  • 启动ssh服务

配置完成后点击启动服务

在这里插入图片描述

  • 不要忘了在防火墙中允许 TCP port (对应的端口号)端口的进和出。

以下为自己公司的端口转发配置

应用端的打开添加端口转发的配置:

每个应用端都有安迅通,在安迅通里配置对应的端口转发

在这里插入图片描述
在这里插入图片描述
注意映射地址为本机ip地址
协议是tcp
端口号最好统一
注意内外网卡选择 别错了


  • 测试中心服务能否连接应用服务

    在测试中心的服务器上(windows) 下使用 putty 连接 刚刚设置好的 服务器ssh服务
    在这里插入图片描述

    输入用户名密码 (直接使用刚才导入的系统账号用户 例如:Administrator,密码是开机密码)

    在这里插入图片描述

    登入成功如下图所示: (失败会提醒密码错误)

    在这里插入图片描述

maven 项目jenkins 配置

  • 系统设置

在这里插入图片描述
往下拉找到 Publish over SSH

在这里插入图片描述
在这里插入图片描述
name: 自己取

hostname: 对应的应用服务器ip地址

username: ssh连接时用的用户名

Remote Directory: 写 \

勾选上 use password anth…

passphrase/password : 填写ssh 连接时用户名对应的密码

port: 应用服务器ssh开启的端口号

timeout :自己看着配置 ,最好设置长点

填好后点击右下角的 test configuration 测试是否通了

如图左下角显示success 表示配置成功!

  • 全局工具配置

  • Maven 配置

在这里插入图片描述
选择对应的 settings.xml 文件

  • jdk 安装

在这里插入图片描述
去掉 自动安装前面的 √
在java_home 里面填写java安装路径,如图可配置多个

  • maven 安装

在这里插入图片描述
maven_home : 选择maven安装路径

最后点击 最下面的 save 保存

插件管理

  • Maven Integration plugin

在这里插入图片描述

  • Publish over SSH

在这里插入图片描述

maven 项目 构建 配置

  • 新建任务

在这里插入图片描述

在这里插入图片描述

输入任务名称
选择构建一个maven 项目
点击确定
  • 具体配置

    在这里插入图片描述

    描述: 随便写
    jdk:选择配置好的jdk 注意项目使用的jdk版本

  • 源码管理

    在这里插入图片描述

  • add 弹窗框

    在这里插入图片描述

    可以选择git 或者 svn
    这里以svn 为例
    Repository URL :项目地址具体到 pom文件所在那一层
    Credentials : 点击add 添加你在该项目的账号密码

  • Build

    在这里插入图片描述

    root pom : pom.xml
    Goals and options : maven 构建命令 这里以打包命令为例 (-P prod -e -B -Dmaven.test.skip=true clean package)

  • 构建后操作

增加构建后操作步骤 选择 Send build artifacts ssh

在这里插入图片描述

name : 选择 系统设置里配置要的 ssh server (目标应用服务器地址)
source files : 要传送的文件(相对于jenkins 下的 workspace 目录下 该job名的目录 ),target\*.war
Remove prefix: target (移除目录,不然在目标文件夹下会创建相对于workspace到所需要传送文件直接的目录,例如:目录文件的目录为workspace/send/target/*.war,如果不去除taeget,则会在目标目录下创建此目录)
remote directory: 目标文件保存于目标服务器的目录地址,如果ssh server 已近配置,这里就可以不填写,不然此目录地址会自动创建到目标服务器下(例如改下填写war 则在目标服务器的c盘该用户名下创建War目录)
Exec command : 拷贝完成后运行的脚本(此项可以直接填写 cmd 命令,如未执行 则在 命令前 加 cmd c/ 试试,也可按如图所示直接执行在应用服务器写好的bat 脚本,如果复杂的命令建议写bat 脚本)
exect timeout : 该命令执行超时的时间  (建议更据自己的脚本设置长点,避免脚本未执行完就报timeout错误)

maven 更多的配置信息请参考
https://blog.youkuaiyun.com/u011781521/article/details/76696677?ref=myread

看NBA会员直播 看个球www.kangeqiu.top

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值