要想去更新网站必须先创建新的任务,任务名写上网站的名字。

现在去更新静态的logo图片是不需要编译的,所以这里不会用到创建maven项目,这里选择构建自由风格的软件项目(无需使用make ant maven去编译)。

Jenkins 更新网站静态文件_svn

创建好任务之后需要做一些配置

Jenkins 更新网站静态文件_html_02

 现在这个就一个功能能够将svn仓库的代码拉取下来,svn仓库地址 svn:139.224.227.121:8801/edu/vv1,local module directory就是代码要下载在哪个目录下,点代表工程目录。Repository depth代表工程目录,有的时候工程目录有多级,这里是将整个工程目录下载下来。Quiet check-out代表静默的形式迁出,迁出的方式为use 'svn update' as much as possible,如果代码有更新只迁出更新的那块代码,而不是全部迁出来。

Jenkins 更新网站静态文件_jenkins_03

 访问仓库必须要用户名和密码,点击添加

Jenkins 更新网站静态文件_jenkins_04

代码仓库指定了,最好拉到最下面 点击应用保存即可

Jenkins 更新网站静态文件_服务器_05

上面这些操作最主要的就是写了一个仓库地址 ,现在这个任务就一个功能是将svn仓库的代码文件拉取下来,拉取到jenkins服务器。

构建你的任务

Jenkins 更新网站静态文件_html_06

在控制台输出可以看到 拉取的代码文件拉取到jenkins服务器下面的/root/.jenkins/workspace/discuz.test.net目录下面,--quite表示静默打印,没有显示迁出的文件名字。

Jenkins 更新网站静态文件_svn_07

 可以看到代码文件(logo.png,index.html)就被迁到jenkins服务器上面来了 

[root@localhost ~]# cd /root/.jenkins/workspace/discuz.test.net/
[root@localhost discuz.test.net]# ll
total 20204
-rw-r--r--. 1 root root 2381 Oct 27 19:17 index.html
-rw-r--r--. 1 root root 3685 Oct 27 19:17 logo.png

Jenkins将静态图片拉取到本地了,要怎么让jenkins帮我们去更新网站的logo呢? 

在任务的配置里面选择构建环境,然后选择执行shell,,将要部署的shell命令写进去即可。

Jenkins 更新网站静态文件_html_08

这里是更新一台服务器上面的网站,在更新之前需要配置免密钥导入。

ssh -l root 192.168.179.104 "mkdir -p /data/backup/`date +%F`"
ssh -l root 192.168.179.104 "\cp /var/www/html/static/image/common/logo.png /data/backup/`date +%F`"
ssh -l root 192.168.179.104 "ls -l /data/backup/`date +%F`"
scp /root/.jenkins/workspace/discuz.test.net/logo.png root@192.168.179.104:/var/www/html/static/image/common

构建任务,然后观察控制台的输出 

Jenkins 更新网站静态文件_服务器_09

 可以看到输出台信息正常,再去看看网站的logo有没有更新。

Jenkins 更新网站静态文件_服务器_10

可以看到通过jenkins网站更新成功。