• 需求:项目经理想要将原型图修改完后直接发布

前置条件:

步骤

  • 1、首先在jenkins上添加svn凭据,配置svn权限

    • 点击凭据,然后点击任一(global)进入凭据管理
    • 点击左侧的添加凭据

    • 其中的用户名密码,是svn的账号密码,填错的话,创建jenkins任务时会提示

  • 2、创建一个自由风格的jenkins项目
    • General部分,根据自己需求设置,也可以不设置
    • 源码管理 ,这里的Credentials就是我们刚添加的svn账号密码,Repository URL 填写项目地址
    • 然后保存,在任务列表中找到刚建立的任务并点击进入,点击左侧立即构建测试一下,如果正常,进行下一步
  • 3、配置svn的钩子
    • 进入svn服务器,进入svn的钩子目录,我的目录是/home/svn/MyRepository/hooks
    • 下载jenkins命令行客户端 wget http://172.168.50.41:9999/jnlpJars/jenkins-cli.jar,(如遇到权限问题,尝试修改文件所属用户和组,我的用户和组都是root)
    • 复制一份post-commit.tmpl模板,名称改为post-commit,赋予777权限
    • vim post-commit
      ```

      !/bin/bash

      source /etc/profile

      java -jar /home/svn/MyRepository/hooks/jenkins-cli.jar -s http://172.168.50.41:9999/ -auth admin:jinglan build svn_test
      保存退出
      其中
      -s http://172.168.50.41:9999/ 是jenkins服务器
      -auth admin:admin 是jenkins用户名和密码
      -build svn_test 是指定构建jenkins的任务名称,

其实这里还需要指定svn中的哪个项目的commit动作,触发哪个jenkins的任务 ,
通过REPOS="$1" 判断即可,
我这自动部署的项目都在gitlab上,svn仅部署项目经理用的这个文件夹,所以没有进行判断
```

  • 现在可以在本地修改文件,通过svn的commit即可部署到指定服务器的指定目录了。
  • 如有jenkins不会用的,参考文章开头的两篇博客,如需构建后删除旧文件的,可以自己写文本,然后执行,或者直接将脚本写到jenkins中

svn+jenkins自动部署的更多相关文章

  1. Jenkins自动部署Tomcat项目

    Jenkins自动部署Tomcat项目 1.安装jenkins 插件 启动Jenkins,进入系统管理-插件管理: 选择Deploy to container Plugin 插件安装:

  2. 关于gitlab+jenkins自动部署代码的实现

    本人PHP开发者,项目组大多是PHP,少量java项目. 因公司目前服务器和项目的管理比较混乱,与领导商量后,决定尝试 gitlab+jenkins自动化部署(之前用的svn FTP手动部署代码),解 ...

  3. 使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建

    使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建 目录 使用jenkins自动部署java工程到jboss-eap6.3 -- 1.环境搭建 使用jenkins自动 ...

  4. 使用Jenkins自动部署博客

    title: 使用Jenkins自动部署博客 toc: true comment: true date: 2017-12-17 19:48:10 tags: ['Jenkins', 'CI'] cat ...

  5. 内存溢出导致jenkins自动部署到tomcat失败

    原文地址:http://openwares.net/java/jenkens_deploy_to_tomcat_error_of_outofmemoryerror.html jenkins自动部署wa ...

  6. jenkins自动部署代码到多台服务器

    下面讲一下如何通过一台jenkins服务器构建后将代码分发到其他的远程服务器,即jenkins自动部署代码到多台服务器. 1.下载 pulish over ssh 插件 2.系统管理 -> 系统 ...

  7. Jenkins自动部署spring boot

    Jenkins自动部署spring boot 背景介绍 本公司属于微小型企业,初期业务量不高,所有程序都写在一个maven项目里面,不过是多模块开发. 分了login模块,service模块,cms模 ...

  8. Jenkins+Maven+SVN搭建自动部署、自动测试环境

    .打开http://10.3.15.78:8080/jenkins/,第一次进入里面没有数据,我们需要创建job,我们这有2个项目,需要创建2个job.http://10.3.34.163:9890/ ...

  9. SVN——Jenkins自动发布

    最近公司项目处于开发阶段,很多功能开发完后就需要发布到测试环境等待测试去验收,这个时候如果手动更新网站的话,是很费时费力的. 于是乎,我们做成了自动发布,这样我们只管提交代码到SVN就行了,发布由软件 ...

随机推荐

  1. 从源码学习使用 node-delegates

    node-delegates 是 TJ 大神所写的一个简单的小工具,源码只有 157 行,作用在于将外部对象接受到的操作委托到内部属性进行处理,也可以理解为讲对象的内部属性暴露到外部,简化我们所需要书 ...

  2. hive常用的字符串操作函数

  3. Linux学习—mysql安装配置及远程连接

    安装前准备 1.检查是否已经安装过mysql 执行命令 [root@localhost /]# rpm -qa | grep mysql  从执行结果,可以看出我们已经安装了mysql-libs-5. ...

  4. 关于Spring的BeanUtils

    文章<用Spring的BeanUtils前,建议你先了解这几个坑>里面,作者最后得到了这几个结论: 1.Spring得BeanUtils得CopyProperties方法需要对应得属性有g ...

  5. 【AMAD】django-countries -- 为Django app的form提供country选项,为model提供CountryField

    动机 简介 个人评分 动机 有时候看一些数据库设计,国家数据会存在一个单独的表里面.这种方式读取数据库无疑又要加上一层join,很不划算. 简介 [django-countries]1解决的是: 不用 ...

  6. lamp的动静分离部署

    一.lamp分离部署工作图 二.LAMP的安装与配置 1.环境准备 2.对 PHP 服务器进行部署 #以下为安装PHP及其依赖 [root@php ~ ]# .tar.gz -C /usr/src [ ...

  7. 【VS开发】VC++ 获取系统时间、程序运行时间(精确到秒,毫秒)的五种方法

    1.使用CTime类(获取系统当前时间,精确到秒) CString str; //获取系统时间 CTime tm; tm=CTime::GetCurrentTime();//获取系统日期 str=tm ...

  8. python 指定文件夹下所有文件(包括子目录下的文件)拷贝到目标文件夹下

    #!/usr/bin/env python3 # -*- coding:utf8 -*- # @TIME :2018/9/17 9:02 # @Author:dazhan # @File :copyf ...

  9. Mac下使用sshpass让iterm2支持多ssh登录信息保存

    mac下没有xshell等连接linux服务器的工具,当需要管理的服务器越来越多之后,密码管理就成了一个很头疼的问题,每次都需要去复制粘贴密码,浪费了很多时间,在网上查了不少资料,发现mac下可以使用 ...

  10. 阅读《C Primer Plus》收获

    190927 知识内容: 1.了解到C语言混乱代码大赛.评选谁的程序最有创意但又让人难以理解 2.了解最初的c语言的规则,所有编译器依照规则而设计. 3.编程前先要确定好目标对象,并且在纸上大概写出流 ...