通过jenkins构建发布普通网站(jenkins+nginx+svn)

本次实验介绍:
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

点击构建
查看日志

刷新页面,发布成功

原文地址:https://blog.51cto.com/jiaxinwang/2465213

时间: 2024-08-30 12:12:44

通过jenkins构建发布普通网站(jenkins+nginx+svn)的相关文章

一步一步用jenkins,ansible,supervisor打造一个web构建发布系统

新blog地址:http://hengyunabc.github.io/deploy-system-build-with-jenkins-ansible-supervisor/ 一步一步用jenkins,ansible,supervisor打造一个web构建发布系统. 本来应该还有gitlab这一环节的,但是感觉加上,内容会增加很多.所以直接用github上的spring-mvc-showcase项目来做演示. https://github.com/spring-projects/spring-

Solo博客系统--Jenkins/docker自动化构建发布系统

部署 git服务器 yum install git useradd git passwd git 创建仓库 su - git mkdir solo.git git --bare init ##初始化仓库 docker cat >> /etc/docker/daemon.json << EOF { "insecure-registries":["reg.hequan.xyz:5000"] } EOF Jenkins服务器 wget https:

jenkins配置.net mvc网站

jenkins配置.net mvc网站 上一篇使用jenkins配置.net mvc网站进行持续集成一只是简单介绍了jenkins构建站点到本地服务器,这一篇,就来讲解如何部署站点到指定的服务器上面. 1.IIS远程发布配置 1.在服务器管理器中安装“管理服务”(若已存在则无须再安装) 1.1 服务器管理----->角色----->web 服务器IIS 1.2 点击右下角 “添加角色服务”,弹出选择“选择角色服务”对话框. 1.3 选中“管理服务” 点击“下一步”----->点击“安装”

使用jenkins配置.net mvc网站进行持续集成二

上一篇使用jenkins配置.net mvc网站进行持续集成一只是简单介绍了jenkins构建站点到本地服务器,这一篇,就来讲解如何部署站点到指定的服务器上面. 1.IIS远程发布配置 1.在服务器管理器中安装“管理服务”(若已存在则无须再安装) 1.1 服务器管理----->角色----->web 服务器IIS 1.2 点击右下角 “添加角色服务”,弹出选择“选择角色服务”对话框. 1.3 选中“管理服务” 点击“下一步”----->点击“安装”.安装完成后,重新打开“服务器管理器”在

使用Jenkins构建Docker镜像

Jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上.同时Jenkins能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性.并且Jenkins提供了大量的插件,能够完成各种任务. 今天我需要使用Jenkins构建一个Docker镜像,然后自动push到docker registry中.到了docker registry中,后面测试人员就可以把镜像发布到测试环境,测试如

一步一步构建iOS持续集成:Jenkins+GitLab+蒲公英+FTP

什么是持续集成 持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误. 为什么使用持续集成 1.减少风险2.减少重复过程3.任何时间.任何地点生成可部署的软件4.增强项目的可见性 常用的持续集成工具 Jenkins CI Travis CI Hudson CI Circle CI 市面上的持续集成工具有很多,考虑到Jenkins的稳定性,

jenkins在使用maven部署到nginx+tomcat服务器时出现504错误

环境:jenkins+maven+nginx+tomcat 在执行jenkins job发布项目到远程服务器,服务器使用nginx+tomcat.默认使用80端口,通过nginx转发请求.在执行tomcat:redeploy时,出现下面的错误: [ERROR] Failed toexecute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:redeploy (default-cli)on project sgt-node: Cannot invok

Jmeter+maven+Jenkins构建云性能测试平台(mark 推荐)

转自:http://www.cnblogs.com/victorcai0922/archive/2012/06/20/2555502.html Jmeter+maven+Jenkins构建云性能测试平台(一) 最近在利用Jmeter来做一套自动化性能测试框架,做自动化性能测试框架的目的 是希望能够针对系统做一个benchmark的性能测试,能够快速的在每个版本发布后,对该版本进行benchmark性能测试,以比较与上一个版本的性 能是否发生变化,若发生变化便可以快速的通知开发人员以确定性能发生变

Jenkins构建Android项目持续集成之findbugs的使用

题外话 这篇本来和之前的系列要一起出的,但是因为中间公司要发布一个版本,给耽搁了,今天工作做完了,又闲了下来.所以就又来继续jenkins构建Android项目持续集成系列的findbugs篇. Findbugs简介 关于findbugs的介绍,可以自行百度下,这里贴下百度百科的介绍.findbugs是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题.这组缺陷模式是可配置的,通过配置,可以过滤掉一些我们不想或不需要检测的问题. findbugs在gra