svn钩子(hooks)自动部署代码到web目录

web目录:/hoem/www/project
svn版本库目录:/svn/project

1.cd /svn/project/hooks
目录下
2.新建post-commit,执行vim post-commit 内容如下

#!/bin/sh
REPOS="$1"
REV="$2"
DIR="/home/www/project"
export LANG=en_US.UTF-8
CURDATE='date'
echo "Code Deployed By at $CURDATE,$REPOS,$REV" >> /svn/code_deploy.log
svn update $DIR --username admin --password 123456

接着

chmod +x post-commit

3.到/home/www下checkout项目

svn checkout svn://127.0.0.1/project/

到此步骤接受,在客服端提交代码更新就会自动同步到web目录了。
附上svn钩子类型
服务器钩子:
svn服务端有9种钩子,分别是:
A.关于锁定的2种
a1.pre-lock
对文件进行加锁操作之前执行该脚本
a2.post-lock
对文件进行加锁操作之后执行该脚本

B.关于解锁的2种
b1.pre-unlock
对文件进行解锁操作之前执行该脚本
b2.post-unlock
对文件进行解锁操作之后执行该脚本

C.关于提交的3种

c1.start-commit
在客户端还没有向服务器提交数据之前,即还没有建立 Subversion transaction(缩写为 txn) 之前,执行执行该脚本
c2.pre-commit
在 Subversion transaction 完毕之后,在提交之前,执行该脚本

c3.post-commit
在提交完成,成功创建版本之后执行该钩子,提交已经完成,不可更改,因此本脚本的返回值被忽略。

D.关于属性的2种

d1.pre-revprop-change
在修改 revision 属性之前,执行该脚本

d2.post-revprop-change
在修改 revision 属性之后,执行该脚本。因为修改稿已经完成,不可更改,因此本脚本的返回值被忽略(不过实际上的实现似乎是该脚本的正确执行与否影响属性修改)

客户端钩子:
tortoise svn客户端有6中钩子,分别是:
A.关于提交的

a1.start commit hook

a2.pre-commit hook

a3.post-commit hook

B.关于更新的

b1.start update hook

b2.pre-update hook

b3.post-update hook

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Jenkins是一个开源的持续集成工具,用于自动部署和构建软件项目。在使用Jenkins进行自动部署时,你需要准备以下几个要素:Jenkins服务器、Subversion (SVN)仓库和Linux操作系统。 首先,你需要在你的Linux服务器上安装和配置Jenkins。你可以通过从Jenkins官方网站下载安装包并按照指示进行安装。完成安装后,你需要启动Jenkins服务,并通过浏览器访问它。 接下来,你需要设置Jenkins与Subversion仓库的连接。在Jenkins的管理界面中,选择“系统管理”,然后在“源码管理”部分选择“Subversion”。提供你的Subversion仓库的URL和凭证,并保存设置。这样,Jenkins就能够连接到你的仓库并拉取代码。 然后,你需要创建一个Jenkins任务来执行自动部署。在Jenkins的主页上,选择“新建任务”,然后为你的任务选择合适的模板。然后,根据你的需求配置任务的参数。在“源码管理”部分,选择Subversion并提供仓库的URL和凭证;在“构建触发器”部分,选择适当的触发方式,例如每次代码提交后自动触发构建;在“构建环境”和“构建”部分,选择适当的配置来构建和部署你的项目。 完成任务的配置后,你可以手动触发一次构建来测试配置的正确性。在任务页面上,选择“立即构建”来触发构建过程。Jenkins将会从Subversion仓库中拉取最新的代码,并执行你所配置的构建和部署步骤。 为了实现自动部署,你可以使用Jenkins的插件和特性来执行额外的步骤,例如运行测试、生成文档、打包等。你还可以通过编写自定义的构建脚本来进一步扩展和定制部署过程。 总而言之,通过使用Jenkins、Subversion以及Linux操作系统,你可以实现一个完整的自动部署流程。通过配置Jenkins任务来连接到Subversion仓库,并使用Jenkins的插件和特性来执行构建和部署步骤,你可以更高效和可靠地部署你的软件项目。 ### 回答2: Jenkins是一个开源的持续集成工具,可以实现自动部署和构建。下面是一个关于如何使用Jenkins进行SVN和Linux自动部署的详细教程。 1. 首先,你需要安装Jenkins。你可以通过在终端输入以下命令来安装Jenkins: ``` sudo apt-get install jenkins ``` 2. 安装完成后,你可以在浏览器中访问Jenkins的默认端口8080,然后按照提示完成初始化设置。 3. 在Jenkins的主页面上,点击“新建项”创建一个新的任务,并选择“自由风格的软件项目”。 4. 在任务设置页面的“源码管理”部分,选择SVN,并填写SVN仓库的地址、用户名和密码。 5. 在“构建触发器”部分,可以选择定时构建或者根据版本号进行构建。 6. 在“构建环境”部分,可以选择清理工作空间,以及设置环境变量等。 7. 在“构建”部分,可以选择需要执行的构建步骤。例如,可以使用“执行shell”来进行一些Linux上的操作,如编译、打包、部署等。 8. 在“后构建操作”部分,可以选择在构建完成后执行的操作。例如,可以发送邮件通知构建结果。 9. 点击“保存”按钮保存配置。 10. 点击任务页面上的“立即构建”按钮,Jenkins将会自动拉取SVN最新代码,并执行配置的构建步骤。 这就是一个简单的Jenkins SVN Linux自动部署的教程。你可以根据你的实际需求,进行更复杂的配置和操作。希望对你有帮助! ### 回答3: Jenkins是一款开源的持续集成工具,用于帮助自动化构建、测试和部署软件项目。SVN是一种版本控制系统,用于版本管理和协同开发。而Linux是一种广泛使用的操作系统。下面将为您提供Jenkins、SVN和Linux的详细教程来实现自动部署。 1. 首先,您需要在Linux服务器上安装Jenkins。您可以通过以下步骤进行安装: - 在终端中执行以下命令以安装Java运行时环境(JRE): sudo apt-get update sudo apt-get install default-jre - 执行以下命令以导入Jenkins的GPG密钥: wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - - 添加Jenkins软件包库并更新apt软件包索引: sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list' sudo apt-get update - 安装Jenkins: sudo apt-get install jenkins - 启动Jenkins服务: sudo systemctl start jenkins 2. 安装SVN: - 执行以下命令以安装SVN客户端: sudo apt-get install subversion 3. 配置Jenkins与SVN集成: - 打开浏览器并访问http://<Jenkins服务器IP地址>:8080,进入Jenkins的Web界面。 - 按照页面上的提示完成初始化设置。 - 安装插件“Subversion Plugin”以支持SVN集成。 - 在Jenkins的主页上选择“新建任务”。 - 输入任务名称并选择“Freestyle project”作为项目类型。 - 在“源码管理”部分,选择“Subversion”并提供SVN仓库的URL。 - 配置SVN凭证以允许Jenkins访问仓库。 - 在“构建触发器”部分,选择一个适合您的触发器类型(例如定时触发器或SCM触发器)。 - 配置您的构建步骤,如编译、测试和部署。 4. 配置自动部署: - 在Jenkins任务的构建步骤中添加一个“Execute shell”或“Execute Windows batch command”步骤,具体根据您的操作系统选择。 - 在步骤中输入您的部署脚本命令,以进行自动部署操作。例如,您可以使用Shell脚本执行SVN更新操作,并将更新后的文件部署到服务器上。 通过以上步骤,您就可以在Jenkins上配置SVN集成和自动部署。每次提交到SVN仓库时,Jenkins将自动拉取最新代码并执行相应的构建步骤,实现自动部署。请根据您的具体需求和环境进行相应的调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值