千家信息网

通过jenkins构建发布普通网站(jenkins+ngin

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本次实验介绍:nginx:web网站svn:代码存储仓库jenkins:自动化运维工具开发人员通过将代码提交到svn上,运维人员通过配置jenkins自动发布到nginx目录上。实验环境:192.16
千家信息网最后更新 2026年11月03日通过jenkins构建发布普通网站(jenkins+ngin

本次实验介绍:
nginx:web网站
svn:代码存储仓库
jenkins:自动化运维工具

开发人员通过将代码提交到svn上,运维人员通过配置jenkins自动发布到nginx目录上。

实验环境:
192.168.0.188 Jenkins
192.168.0.189 nginx
192.168.0.19 svn
Jenkins、nginx、svn环境都已经准备完成,这里不进行再次搭建

步骤:
1.Jenkins安装ssh插件,并配置远程服务器
2.建立项目(job)配置Jenkins
3.将代码上传svn
4.用Jenkins发布文件
5.查看测试结果

1.Jenkins安装ssh插件,并配置远程服务器
在Jenkins系统管理--插件管理

选择插件publish over ssh插件并安装,已安装则忽略

安装完成后开始配置系统管理--系统配置

翻到最后面,找到SSH Servers 选项然后新增

测试是可以连接保存即可

释义:
SSH Server配置为Publish Over SSH中运程机的配置,分"基本设置"和"高级设置"两部分。"基本设置"主要是运程机IP、SSHusername、SSHport、连接超时时间等。"高级设置"和大部分"全局设置"中的选项相同。
Name:建立这台机器的名称
Hostname:远程机器的地址,最好是ip地址
Username:用户名
Remote Directory:远程目录
Use password authentication, or use a different key:使用密码连接
高级设置
高级设置里能够设置SSHport、重试时间以及又一次设置"全局设置"中的选项

全局配置:
每一项都能够被SSH Server的设置所覆盖,这种设计有一个优点。在server环境比較规范的情况下,能够省去每个SSH Server分别配置的繁琐步骤。
參数说明
Passphrase:SSH的password
使用username/password登录时为username的password。使用私钥登录时为私钥的password。
Path to key:SSH私钥的文件路径
私钥文件的路径,能够是绝对路径。也能够是相对$JENKINS_HOME的相对路径
Key:私钥
私钥导出后的文本内容

扩展例子:如果不使用密码而使用秘钥远程连接该怎么做呢1.jenkins所在服务器生成公私钥对2.将公钥(idrsa.pub)传到要远程的机器上或者将公钥内容输入到远程机器authorizedkeys文件中(/root/.ssh/authorizedkeys)chmod 600 /root/.ssh/authorizedkeys3.jenkins设置私钥所在路径文件,在输入生成公私钥的密码即可(Passphrase/Password字段需要输入公私钥密码)(Path to key字段输入jenkins所在服务器的私钥文件所在路径)

假设"Key"和"Path to key"都设置,则"Key"的优先级较高,私钥的password是"Passphrase"中设置的内容。
Disable exec:禁止在目标机上运行命令
勾选后将会忽略在Job配置中"Exec command"选项中设置的命令。Jenkins的说明文档中的"The Disable exec in the advanced settings for individual configurations will be ignored."没有全然理解。从实际效果来看,仅仅要"Disable exec"被勾选后,无论SSH Server中是否勾选"Disable exec"。Job中设置的命令都将补忽略。

2.建立job任务
点击新建任务

输入名称,并选择自由风格项目然后确定

源码管理选择svn

其中
Repository URL:项目的svn地址
Credentials:凭证
点击添加,添加相应用户名即可

选择构建后操作,选择send build artifacts over SSH

參数说明:
Name
"系统管理>系统设置"设置的SSH Sverver的名字列表。
Source files
拷贝到运程机上的文件。相对workspace的路径,也支持表达式,如上图中的"*/.war"。
Remove prefix
文件复制时要过滤的文件夹,如上图中的target文件夹。
Remote directory
文件得到到远程机上的文件夹,此文件夹是相对于"SSH Server"中的"Remote directory"的。假设不存在将会自己主动创建。
Exec command
在这里能够填写在运程机器上运行的脚本,如:应用部署脚本

这里是直接将svn发布文件拷到nginx发布目录上,也可以将远程目录修改其他的,然后运行命令拷贝到nginx上也可,这种方法比较安全

这是nginx发布前

修改文件将文件传到svn

点击构建
查看日志

刷新页面,发布成功

文件 配置 路径 插件 机器 系统 管理 输入 选择 高级 命令 密码 所在 文件夹 服务器 目录 运程 服务 代码 全局 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡豆 互联网最新的科技 互联网科技有限公司图片 科技信息互联网 关于新基建和互联网科技 智慧科技互联网 广州紫鲸互联网科技 科技互联网创业计划书 汉立互联网科技有限公司联系电话 青岛中康互联网医疗科技有限公司 济南华为互联网科技产业总部基地 福建科技产业互联网发展 互联网科技商业 洛阳昕诺飞互联网科技有限公司 互联网科技的全部知识 互联网科技创新的路径 元气玛特互联网科技公司是外包吗 北京市互联网新科技 四川互联网展示科技馆设计 株洲百竞科技的互联网营销顾问 互联网科技作文 互联网金融科技创新 上海亿帐通互联网科技 广西拼得多互联网科技有限公司 顶级互联网科技成果有哪些 栖莱科技互联网股份有限公司 坤平互联网科技 互联网科技职业技能培训学校 盐城市攀科互联网科技有限公司 颐高云石互联网科技
0