基于JIRA+SVN的版本管理
JIRA+SVN安装及调试
J I A R+S V N S Q L S e r v e r2008环境搭建以下是我成功安装jira步骤。
第一步:oracle官网下装安装????jdk-6u24-windows-i586.exe,,?(配置JAVA_HOME=?C:\Program第二步:下载JIRA并安装选择32位版本安装。
安装过程显示如下图:选择CustomInstall第三步:运行JIRA第四步:SQLServer2008中新建数据库JIRA_DB第五步:填写信息数据库信息这里就填写刚刚建立的数据库的信息。
点击NEXT程序开始向数据库中建立初始库信息,需要等几分钟。
填写标题,下一步申请账号:选择相应的选项并填写信息,时间也稍微长了点。
接下来的页面填写账号。
这里修改Username,设置密码。
选择默认,不发送Email。
设置结束。
第六步:右上角设置菜单选择System。
选择Add-ons搜索框填写subversion-jira-plugin点Install。
同样方法再安装免费的JIRACanle ndarPlugin、JIRAChartingPlugin、代码高亮工具JIRASyntaxHighlighterPlugIn?v.1.7.1第七步:配置SVN,点击插件✍SubversionRepositorie✍增加填写内容,*号内容必填:?DisplayName:项目名称*?RepositoryRoot:SVN地址*?RevisionIndexing:是否索引历史记录*?RevisionCacheSize:缓存大小,默认Username:SVN用户名Password:密码编辑完成:第八步:破解,重要步骤。
资源简介1.现在是2013-09-10适合现在最新版本破解2.汉化不是问题,直接去官方的商店下载就行.3.采用修改底层源码的方式实现,直接替换jar包即可.方法:下载破解文件链接:解压缩\atlassian-jira\WEB-INF\classes\atlassian-bundled-plugins.zip中的同名jar包。
Svn版本管理教程
用subversion(SVN)进行版本管理老是给别人讲svn,花时间太多,近来无事,就写了subversion的版本管理技巧,基本的没多讲,只捡重要的写了一下,以便一劳永逸,希望有用。
好难编辑,终于搞完了...版本管理约定程序员编写程序的过程中,每个程序都会有很多不同的版本,这就需要程序员很好的管理代码,在需要的时间可以取出需要的版本,并且每个版本都有一个完整的说明。
我们使用Sub Version(简称SVN)作为版本管理工具。
这里着重介绍SVN作为跨平台的多人协作使用方法。
在多个程序员管理同一段代码的过程中,版本的管理显得尤为重要,使用SVN可以方便的进行分支、合并,记录下所有的版本。
SVN基本配置在开始某项软件、文档的开发与撰写时,首先由配置管理负责人建立SVN仓库、用户名及其权限,并通知相关人员SVN仓库地址、SVN仓库负责人。
配置强制注释SVN仓库的负责人把工程的tsvn:logminisize设置为1,以便强制注释。
设置方法:在你的工程文件夹右键->属性中,进入 Subversion标签,选中tsvn: logminisize,确保复选框recursive 选中,然后点击Set按钮把它的值设为1,其意思是指提交的注释最短长度为一个字。
如图:SVN软件配置1.忽略文件在SVN 的[Setting]的[General]中,设置需要忽略的文件以便忽略掉一些临时的、无用的文件,常被忽略的文件有*.opt *.ncb *.suo *.plg *.pch *.idb *.pdb *.scc *.obj Debug Release *.o *.bin *.out *.ilk *.aps debug release *.clw *.bak。
每个程序员可以根据自己的需要进行修改忽略文件,上面只是使用VC++与Tornado编程时常用的一些忽略文件。
2.合并比较工具在Merge Tool中可以选择用来合并的工具,强烈推荐用Araxis Merge。
使用SVN来进行版本管理
使用SVN来进行版本管理SVN(Subversion)是一种开源的版本控制系统,它可以用于管理和跟踪软件项目的版本变化。
在软件开发中,版本管理是非常重要的,它可以帮助团队协作,提高效率,减少代码冲突,并保持代码的稳定性。
本文将介绍如何使用SVN来进行版本管理。
首先,安装SVN服务器和客户端。
SVN服务器可以在本地搭建,也可以使用云服务提供商的SVN服务器,比如GitHub、Bitbucket等。
客户端可以选择TortoiseSVN、Eclipse等工具。
接下来,创建一个SVN仓库。
SVN仓库是存储代码的地方,可以包含一个或多个项目。
在服务器上创建一个空的文件夹作为SVN仓库,并使用SVN命令初始化仓库。
```svnadmin create /path/to/repo```然后,导入项目到SVN仓库。
在本地,将项目导出到一个空文件夹,并使用SVN命令将其导入到SVN仓库。
```svn import /path/to/project file:///path/to/repo/project -m "Initial import"```现在,项目已经导入到SVN仓库中了。
接着,团队成员可以通过SVN客户端从SVN仓库中将项目检出到本地。
在本地选择一个合适的文件夹,使用SVN命令进行检出。
```svn checkout file:///path/to/repo/project/path/to/local/project```这样,项目就被复制到本地了。
此时,团队成员可以开始在本地修改项目,然后将修改提交回SVN仓库。
在修改完代码后,通过SVN客户端可以查看文件的状态,比如检测到的修改、冲突等。
``````同时,如果团队成员在提交代码之前发现了其他人的修改,可以使用“svn update”命令将SVN仓库中最新的代码更新到本地。
```svn update /path/to/local/project```当多个团队成员同时修改同一个文件时,可能会发生代码冲突。
SVN与JIRA集成
SVN与JIRA集成并单点认证备忘录2009-07-17作者:linuxpf 来源:最新修改部分错误及增加一些内容/bbs/vi ... &extra=page%3D1进入公司第一件事情就是搭建一个版本控制环境,为提供方便,由于以前从来没有接确,在查找资料的时候走了很多弯路,故记录于此,希望可以给刚接触SVN,jira的朋友带来帮助!其实LINUX工作并不难,重要的是细心和耐心,每个人的情况并不一样,所以安装过中会有许多问题,凡事说起来容易,但做起来难!这些安装过程不正确的地方,请大家指点并改正,更多文章:=================================================================================本文预期效果:创建基于apache的svn服务器,采用JIRA用户数据库,真正实行单点认证,便于实际工作中管理。
同时JIRA中能够很好集成SVN,很简单地通过本的改动,只需在客户端更新文件并在提交过程中在messages指定相应KEY平台:centos4.6定制软件apache2.0.53svn1.4.2mysql5.0.69jira 3.12.3viewvc1.0jdk-1_5_0_08由于本文SVN,APACHE不是重点,估采用YUMyum install httpd httpd-devel gcc gcc-c++ zlib zlib-devel注:由于安装软件众多,考虑速度问题,本人事先已经下载到FTP服务器上:相关文件自己到官方下载:step1:安装JIRA配置java环境下载JDK:wget ftp://192.168.123.99/soft/jdk-1_5_0_08-linux-i586-rpm.bin#sh jdk-1_5_0_08-linux-i586-rpm.bin设置环境变量#vi /etc/profile在文件末尾加入以下内容:QUOTE:JAVA_HOME=/usr/java/jdk1.5.0_08CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jarPATH=$JAVA_HOME/bin:$PATHexport JAVA_HOMEexport PATHexport CLASSPATH#logout[root@jirasvn ~]# echo $JAVA_HOME/usr/java/jdk1.5.0_08[root@jirasvn ~]# java -versionjava version "1.5.0_08"Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_08-b03)Java HotSpot(TM) Client VM (build 1.5.0_08-b03, mixed mode, sharing)[root@jirasvn ~]#step2:下载JIRA并安装MYSQL最新版本JIRA3.12.3,由于JIRA默认是采用HSQL,本文采用MYSQL数据库方式,便于与其它数据库管理!下载mysql:wget ftp://192.168.123.99/soft/MySQL- ... 67-0.rhel4.i386.rpmwget ftp://192.168.123.99/soft/MySQL- ... 67-0.rhel4.i386.rpmwget ftp://192.168.123.99/soft/mysql-connector-java-3.1.14.tar.gzwget ftp://192.168.123.99/soft/MySQL- ... 67-0.rhel4.i386.rpmwget ftp://192.168.123.99/soft/atlass ... 3-standalone.tar.gzQUOTE:[root@jirasvn soft]# rpm -ivh MySQL-shared-community-5.0.67-0.rhel4.i386.rpmwarning: MySQL-shared-community-5.0.67-0.rhel4.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5 Preparing... ########################################### [100%]1:MySQL-shared-community ########################################### [100%][root@jirasvn soft]# rpm -ivh MySQL-client-community-5.0.67-0.rhel4.i386.rpmwarning: MySQL-client-community-5.0.67-0.rhel4.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5 error: Failed dependencies:perl(DBI) is needed by MySQL-client-community-5.0.67-0.rhel4.i386Suggested resolutions:/home/buildcentos/CENTOS/en/4.0/i386/CentOS/RPMS/perl-DBI-1.40-8.i386.rpm[quote]提示缺少perl-DBI于是[quote][root@jirasvn soft]# yum install perl-DBIQUOTE:[root@jirasvn soft]# rpm -ivh MySQL-client-community-5.0.67-0.rhel4.i386.rpmwarning: MySQL-client-community-5.0.67-0.rhel4.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5 Preparing... ########################################### [100%]1:MySQL-client-community ########################################### [100%][root@jirasvn soft]# rpm -ivh MySQL-server-community-5.0.67-0.rhel4.i386.rpmwarning: MySQL-server-community-5.0.67-0.rhel4.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5 Preparing... ########################################### [100%]1:MySQL-server-community ########################################### [100%]step3:安装jiraQUOTE:#tar -zxvf atlassian-jira-enterprise-3.12.3-standalone.tar.gz#mv atlassian-jira-enterprise-3.12.3-standalone /home/jira[root@jirasvn soft]# cd /home/jira[root@jirasvn jira]# lsatlassian-jira common external-source logs README.html server temp webappsbin conf licenses NOTICE README.txt shared tomcat-docs work1.修改JIRA配置文件Configure your application server to connect to MySQL由于采用mysql,估计稍作一些修改,修改备份该文件cp server.xml server.xml.bak这样修改后可以对比一下,就能够发现那里有问题!修改#vi /home/jira/conf/server.xmlQUOTE:<Context path="" docBase="${catalina.home}/atlassian-jira" reloadable="false"><Resource name="jdbc/JiraDS" auth="Container" type="javax.sql.DataSource"username="jirauser"password="jira"driverClassName="com.mysql.jdbc.Driver"url="jdbc:mysql://localhost/jiradb?autoReconnect=true&useUnicode=true&characterEncoding=UTF8" />[quote][quote]<Server port="8005" shutdown="SHUTDOWN"><Service name="Catalina"><Connector port="8080"maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"enableLookups="false" redirectPort="8443" acceptCount="100"c disableUploadTimeout="true" /><Engine name="Catalina" defaultHost="localhost"><Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"><Context path="" docBase="${catalina.home}/atlassian-jira" reloadable="false"><Resource name="jdbc/JiraDS" auth="Container" type="javax.sql.DataSource"username="[enter db username]"password="[enter db password]"driverClassName="com.mysql.jdbc.Driver"url="jdbc:mysql://localhost/jiradb?autoReconnect=true&useUnicode=true&characterEncoding=UTF8"[ delete the minEvictableIdleTimeMillis and timeBetweenEvictionRunsMillis params here ]/><Resource name="UserTransaction" auth="Container" type="erTransaction"factory="erTransactionFactory" jotm.timeout="60"/><Manager className="org.apache.catalina.session.PersistentManager" save/></Context></Host></Engine></Service></Server>修改后对比文件!QUOTE:[root@jirasvn conf]# diff server.xml.bak server.xml14,20c14,18< username="sa"< password=""< driverClassName="org.hsqldb.jdbcDriver"< url="jdbc:hsqldb:${catalina.home}/database/jiradb"< minEvictableIdleTimeMillis="4000"< timeBetweenEvicti< maxActive="20" />---> username="jirauser"> password="jira"> driverClassName="com.mysql.jdbc.Driver"> url="jdbc:mysql://localhost/jiradb?autoReconnect=true&useUnicode=true&characterEncoding=UTF8"> />[root@jirasvn conf]#修改要细心,以免自己误操作,而导致没有必要的错误!url="jdbc:mysql://localhost/jiradb?autoReconnect=true&useUnicode=true&characterEncoding=UTF8中要注意修改自己的相应路径这里采用数据库jiradb2.Configure the JIRA Entity EngineEdit atlassian-jira/WEB-INF/classes/entityengine.xml (if you are using JIRA Standalone) or edit-webapp/WEB-INF/classes/entityengine.xml (JIRA WAR/EAR), and change the field-type-name attribute to mysql. (If you forget to do this and start JIRA, it may create database tables incorrectly. See this page if this happens to you.) Also delete the schema-name="PUBLIC" attribute, if it exists:编辑atlassian-jira/WEB-INF/classes/entityengine.xml文件定位100行,修改为myql,且删除 schema-name="PUBLIC"QUOTE:[root@jirasvn jira]# cd atlassian-jira/WEB-INF/classes/[root@jirasvn classes]# ls |grep entityentitydefsentityengine.xml[root@jirasvn classes]# vi entityengine.xmlQUOTE:<!-- DATASOURCE - You will need to update this tag for your installation.--><datasource name="defaultDS" field-type-name="mysql"[ delete this, if it exists: schema-name="PUBLIC" ]helper-class="org.ofbiz.core.entity.GenericHelperDAO"check-on-start="true"use-foreign-keys="false"...[quote]3.创建数据库[quote][root@jirasvn jira]# mysqladmin -u root password yourpassword[root@jirasvn jira]# mysql -u root -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 3Server version: 5.0.67-community MySQL Community Edition (GPL)Type 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql>注意修改数据库格式为utf-8,创建用户jira,密码为jira,授予查看数据库权限mysql> create database jiradb character set utf8;mysql>create user jirauser identified by 'jira';mysql> grant all privileges on *.* to 'jirauser'@'%' identified by 'jira' with grant option;mysql> grant all privileges on *.* to 'jirauser'@'localhost' identified by 'jira' with grant option; mysql> flush privileges;验证下:mysql> quitBye[root@jirasvn jira]# mysql -u jirauser -pmysql> show databases;+--------------------+| Database |+--------------------+| information_schema || jiradb || mysql || test |+--------------------+4.拷贝MYSQL驱动程序:下载地址:/products/connector/j/注意的是下载3.11以下老版本,可能会出现问题QUOTE:1. Download the MySQL Connector/J JDBC driver, eg. version 3.1.12 (tar.gz or zip) which we have verified to work. NOTE:the older 3.1.11 driver is broken.NoteA user has reported encountering problems using the Resin JDBC driver for MySQL. However, the Connector/J driver fromMySQL works correctly (except for version 3.1.11).2. Add the MySQL JDBC driver jar (mysql-connector-java-3.x.x-bin.jar) to the common/lib/ directory. NOTE: Do not place the Debug Driver (mysql-connector-java-3.x.x-bin-g.jar) on the CLASSPATH as this can cause issues (JRA-8674).[quote]5.创建用户,以后用此用户启动JIRA#useradd jira# passwd jiraChanging password for user jira.New UNIX password:BAD PASSWORD: it is too shortRetype new UNIX password:passwd: all authentication tokens updated successfully.[root@jirasvn home]# chown -R jira.jira jira[root@jirasvn home]# ls -altotal 48drwxr-xr-x 5 root root 4096 Sep 9 15:48 .drwxr-xr-x 23 root root 4096 Sep 9 15:19 ..drwxr-xr-x 15 jira jira 4096 Sep 9 16:08 jiradrwx------ 2 root root 16384 Sep 9 2008 lost+founddrwxr-xr-x 3 root root 4096 Sep 9 16:06 soft[root@jirasvn home]#6.编写自启动脚本[quote][root@jirasvn bin]# cd /etc/rc.d/init.d/[root@jirasvn init.d]# vi jira#!/bin/bash# Jira startup scriptRUN_AS_USER=jiraCATALINA_HOME=/home/jira/start() {echo "Starting Jira: "if [ "x$USER" != "jira" ]; thensu - $RUN_AS_USER -c "$CATALINA_HOME/bin/startup.sh" else$CATALINA_HOME/bin/startup.shfiecho "done."}stop() {echo "Shutting down Jira: "if [ "x$USER" != "x$RUN_AS_USER" ]; thensu - $RUN_AS_USER -c "$CATALINA_HOME/bin/shutdown.sh" else$CATALINA_HOME/bin/shutdown.shfiecho "done."}case "$1" instart)start;;stop)stop;;restart)stopsleep 10#echo "Hard killing any remaining threads.."#kill -9 `cat $CATALINA_HOME/work/catalina.pid`start;;*)echo "Usage: $0 {start|stop|restart}"esacexit 0保存后退出#chmod +x jira# ln -s /etc/rc.d/init.d/jira /etc/rc.d/rc3.d/S89jira# ln -s /etc/rc.d/init.d/jira /etc/rc.d/rc3.d/K89jira这样以后就能够在文体模式自启动了!记得#chown -R jira.jira jira/7.现在可以启动JIRA[root@jirasvn jira]# /etc/rc.d/init.d/jira startStarting Jira:If you encounter issues starting up JIRA Standalone Edition, please see the Troubleshooting guide at/ ... oubleshooting+GuideUsing CATALINA_BASE: /home/jiraUsing CATALINA_HOME: /home/jiraUsing CATALINA_TMPDIR: /home/jira/tempUsing JRE_HOME: /usr/java/jdk1.5.0_08done.[root@jirasvn jira]#8.在浏览器中输入192.168.123.70:8080无法显示,防火墙阻止:#iptables -I INPUT -p tcp --dport 8080 -j ACCEPT如果仍然无法打开,请查看日志文件#tail /home/jira/logs/catalina.out正常就会出现:下图申请一个试用注册码,关于破解本人不是重点,企业强烈要求购买,反正也不贵jira license key:mrPntaCPMgvChDaqIAmBAckHmQTXXopncpCKpvFMDOkwavmi2KjrsUnQ>JPXPaA<FFCwgj2KgJRyoJo4M7pddI2V6Xhn pqMxTOQRmmonqQmnPPtWRmNMpqPPQrnrQVvSSsxVxVtxomnUUnonvupnvqnoppUUnonvupnvqnoppUUifkrucXkp9.关于设置向导参考官方手册:/software/jira/docs/v3.13/setup.html如果有问题请到论坛来讨论!如图:。
svn 管理规范
svn 管理规范版本控制是软件开发中非常重要的一项工作,而SVN(Subversion)作为一种广泛应用的版本控制系统,其管理规范对于团队协作和项目管理至关重要。
本文将介绍一些svn管理规范的要点和最佳实践。
一、版本库管理在开始使用SVN之前,首先需要创建一个版本库来存储项目的代码和相关文件。
版本库应该按照项目进行划分,不同的项目应该有独立的版本库。
二、代码组织结构在版本库中,代码的组织结构应该合理和清晰,以方便团队成员的协同工作。
通常,可以按照以下方式来组织代码:1. trunk:主要开发分支,用于存储主要的开发代码。
2. branches:用于存储各种分支,例如特性开发、bug修复等。
3. tags:用于存储项目的里程碑版本,每个里程碑版本应该被标记。
三、代码提交规范1. 提交频率:建议经常进行提交,特别是完成了一个小的功能或者修复了一个bug后应尽快提交。
2. 提交注释:每次提交都应填写有意义的注释,描述本次提交的目的和内容。
注释应简洁明了,不需要过长但需要包含足够的信息以便其他开发人员理解。
3. 检查代码:在提交之前,应先进行本地代码的检查和测试,以确保代码的质量和稳定性。
四、分支管理在开发过程中,可能需要创建各种分支来同时进行多个任务、修复bug等。
以下是一些建议:1. 创建分支:创建分支时,应该从某个里程碑版本或者主要开发分支(trunk)进行分支操作。
2. 分支命名:分支的命名应该明确且具有代表性,可以包含功能名称、作者等信息。
例如,feature/xxx、bugfix/xxx。
3. 分支合并:分支开发完成后,应该及时合并到主要开发分支(trunk)或者其他适当的分支。
五、并发开发管理在团队协作开发中,可能会涉及到多人同时修改同一份代码的情况。
以下是一些建议:1. 避免冲突:在修改代码之前,应先更新代码库,以确保本地代码和服务器上的代码同步。
这样可以避免冲突和代码丢失。
2. 解决冲突:如果出现冲突,应及时与其他开发人员进行沟通,合作解决冲突。
SVN与JIRA集成配置
jira与svn结合配置说明1.SVN安装注:svn的版本与JIRA的版本只有部分版本兼容,详细可上网查阅1.安装安装服务器和客户端(TortoiseSVN)2..创建资源库命令: svnadmin create c:/svndata/ebbd3.运行svn服务命令: svnserve -d -r c:/svndata4.相关配置1..授权进入E:/SVNHOME/test目录下的conf目录,打开svnserve.conf,去掉anon-access = read前面的#号注释,最好anon-access = read前面空格也去掉,然后把anon-access = read改为anon-access = none,意思是说没有用户名与密码的不能读写,同样地把auth-access = write和password-db = passwd 去注释(和前面的空格)2.设置密码打开你创建的版本库的目录下的conf/passwd文件,在文件尾加如下:user_name = your_password3.导入右击你待导入的目录TortoiseSVN->Import(导入)...,然后URL里输入svn://localhost/repos即可。
4.检出项目右击一个新的目录(待存放的项目的目录)SVN Check Out(检出)...,然后URL里输入svn://localhost/repos即可。
完成后,这个新的目录左下角有一个绿色的钩2.安装JIRA1. 解压JIRA 到本地目录2.创建数据库(我使用的MYSQL数据库,)create database jiradb character set utf8;3.设置环境变量和修改配置文件设置环境变量同时按下window+pause,在弹出的对话框中选择Advance-->Environment Variablesjdk版本需要配置JDK1。
6把对应的驱动加到classpath: 增加;E:\studyTool\mysql_connecter\mysql-connector-java-5.1.7-bin.jar点击New设置name: CATALINA_HOMEvalue: E:\jira-enterprise-4.1然后修改PATH:增加%CA TALINA_HOME%\bin;修改E:\jira-enterprise-4.1\atlassian-jira\WEB-INF\classes下的jira-application.properties :设置jira.home = E:\\jira4.1_home (此路径必须存在且不与安装目录相同)修改E:\jira-enterprise-4.1\conf下的server.xml(给出的是完整代码可以直接复制,修改一下用户名密码即可):<?xml version="1.0" encoding="utf-8"?><Server port="8005" shutdown="SHUTDOWN"><Service name="Catalina"><Connector port="8080"maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"enableLookups="false" redirectPort="8443" acceptCount="100"connectionTimeout="20000" disableUploadTimeout="true" /><Engine name="Catalina" defaultHost="localhost"><Host name="localhost" appBase="webapps" unpackW ARs="true" autoDeploy="true"><Context path="" docBase="${catalina.home}/atlassian-jira" reloadable="true"><Resource name="jdbc/JiraDS" auth="Container" type="javax.sql.DataSource"username="root"password="123456"driverClassName="com.mysql.jdbc.Driver"url="jdbc:mysql://localhost/jiradb?autoReconnect=true&useUnicode=true&charact erEncoding=UTF8"/><Resource name="UserTransaction" auth="Container" type="erTransaction"factory="erTransactionFactory" jotm.timeout="60"/><Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/></Context></Host></Engine></Service></Server>修改E:\jira-enterprise-4.1\atlassian-jira\WEB-INF\classes下的entityengine.xml :<datasource name="defaultDS" field-type-name="mysql"若不为HSQLDB则同时删除schema-name="PUBLIC"这句.../>安装启动bin下startup.bat,打开http://localhost:8080 进入安装。
SVN管理规范
SVN管理规范一、引言版本控制是软件开辟过程中非常重要的一环,它可以匡助团队有效地协作、追踪代码变更、恢复历史版本等。
SVN(Subversion)是一款流行的开源版本控制系统,被广泛用于软件开辟项目中。
本文旨在制定一套SVN管理规范,以确保团队成员能够高效、规范地使用SVN进行版本控制。
二、SVN仓库结构1. 仓库的组织结构应根据项目的特点进行设计,普通情况下可按照模块、子项目或者功能进行划分。
2. 每一个项目应在仓库中创建一个独立的目录,并按照项目名称进行命名。
3. 在项目目录下,可以根据需要创建子目录,如分支(branches)、标签(tags)和主干(trunk)。
- 分支目录用于保存项目的不同分支,如功能开辟分支、修复分支等。
- 标签目录用于保存项目的发布版本,每一个标签应包含一个稳定的、可发布的版本。
- 主干目录用于保存项目的主要开辟代码,所有的开辟工作应在主干上进行。
三、SVN操作规范1. 提交待码- 在提交待码前,应先更新本地工作副本,确保与仓库中的最新版本保持一致。
- 每次提交应只包含一个逻辑上的更改,确保提交的代码具有单一性。
- 提交时,应提供故意义的提交消息,描述本次提交的目的和内容。
- 避免提交不必要的文件,如编译生成的文件、暂时文件等。
2. 分支管理- 在需要进行功能开辟或者修复时,应创建相应的分支,避免直接在主干上进行修改。
- 分支的命名应具有描述性,能够清晰表达分支的用途和目的。
- 分支的合并应在完成相应的开辟或者修复后及早进行,以减少冲突的可能性。
3. 标签管理- 在发布稳定版本时,应创建相应的标签,以便于后续的版本追踪和回溯。
- 标签的命名应遵循一定的规则,如使用版本号或者日期进行命名。
- 标签创建后,应禁止对其进行修改,以确保标签的稳定性。
4. 冲突解决- 在更新本地工作副本或者合并分支时,可能会发生代码冲突。
冲突解决应及时进行,避免影响其他团队成员。
- 冲突解决时,应子细检查冲突的原因,并根据实际情况进行相应的修改和调整。
SVN版本管理规范
SVN版本管理规范通联支付网络服务股份有限公司技术支持中心研发部版本管理规范受理市场支持部2011年1月版本控制信息目录文档类别使用对象.... 错误!未定义书签。
1.引言............. 错误!未定义书签。
目的.......................................................... 错误!未定义书签。
范围.......................................................... 错误!未定义书签。
术语定义...................................................... 错误!未定义书签。
2.版本管理......... 错误!未定义书签。
2.1版本标识方法.............................................. 错误!未定义书签。
2.1.1版本标识说明........................................ 错误!未定义书签。
2.2目录结构 ................................................. 错误!未定义书签。
2.3版本的存放................................................ 错误!未定义书签。
trunk ..................................................... 错误!未定义书签。
branches .................................................. 错误!未定义书签。
tags ...................................................... 错误!未定义书签。
files ..................................................... 错误!未定义书签。
软件研发管理基于JIRA+SVN的版本管理交流白冰
VSS
注意: …
软件交 付节奏
系统 设计
软件 实现
验证 测试
版本 发布
三、JIRA+SVN软件版本管理
eb/QYG40921 Trunk
SVN样例
SSC
3-0 SVN规划
PSM
Web App
Report Files
Tags
DB Script
3)案例
… SSC_v1.3.5_online_formal SSC_v1.3.6_online_formal
三、JIRA+SVN软件版本管理 2)JIRA多版本
a)软件版本规划:制定版本的交付节奏-时间
版本的三种状态: 发布/released、 未发布/unreleased、 归档/archived
影响版本:bug在哪些版本中被发现 修复版本:bug计划在哪个版本中修复
例如: -影响版本,如一个bug可能影响版本1.1和1.2。 -修复版本,如bug影响版本1.1和1.2,可能在2.0版本 上被解决。
添加修改代码文件 1
1)JIRA+SVN
将修改后的文件提交到SVN, 在Message对话框中填写JIRA
中的问题号+问题概要描述
2
在JIRA环境中即可查看到与此 问题相关的原文件的改动,起
到关联可追溯的目的。
3
三、JIRA+SVN软件版本管理 1)JIRA+SVN
SVN Log Messages
业务驱动力 技术驱动力
– 协作 – 新业务 – 资金 – 财务共享中心
融合催生
– 用户体验 – 平台无关 – 集成 – 技术路线
– 营销 – 物流 – 分析 – 数据中心
如何利用Jira进行软件开发项目的追踪和管理
如何利用Jira进行软件开发项目的追踪和管理在现代软件开发中,项目追踪和管理是至关重要的环节。
准确地追踪项目进展和管理项目任务可以帮助开发团队更好地协作、提高工作效率,并及时发现和解决问题。
而Jira作为一款领先的项目管理工具,为开发团队提供了全面的功能和工具,使其能够高效地追踪和管理软件开发项目。
本文将详细介绍如何利用Jira进行软件开发项目的追踪和管理。
一、项目规划与需求管理在开始进行软件开发项目之前,一个清晰的项目规划和需求管理是必不可少的。
Jira提供了丰富的功能来帮助项目团队规划项目和管理需求。
通过创建项目和项目任务,团队成员可以清晰地了解项目的整体目标和所需的功能需求。
同时,Jira还可以将需求细化为具体的任务,并与相关人员进行分配和跟踪,确保每个任务都能得到及时处理。
二、任务跟踪与分配在软件开发项目中,任务的跟踪和分配是关键。
借助Jira的任务管理功能,团队可以创建、分配和跟踪任务的进展。
每个任务都可以包括任务名称、描述、截止日期等信息,以便团队成员明确任务要求。
通过任务的状态和进度更新,团队可以实时了解项目的进展情况,并做出相应的调整和决策。
三、问题追踪与解决在软件开发过程中,难免会遇到各种问题和bug。
Jira提供了强大的问题追踪功能,可以帮助团队有效地管理和解决问题。
团队成员可以在Jira中创建问题,并指定问题的类型、优先级、严重程度等属性。
同时,团队可以将问题分配给相应的成员进行解决,并跟踪问题的解决进展。
通过及时解决问题,团队能够确保项目的稳定性和质量。
四、版本发布与追踪软件开发项目通常会有多个版本的发布。
Jira提供了版本管理功能,可以帮助团队计划和追踪版本发布工作。
通过创建版本和版本任务,团队可以规划每个版本的功能和工作范围,并跟踪任务的完成情况。
同时,Jira还支持发布备注和版本文档的管理,方便团队成员了解版本的具体内容和变更情况。
五、团队协作与通信软件开发项目离不开团队的协作和沟通。
SVN管理规范
SVN管理规范引言:版本控制是软件开辟过程中非常重要的一环,而SVN(Subversion)作为一款流行的版本控制系统,被广泛应用于软件开辟团队中。
为了确保项目的顺利进行和代码的可维护性,SVN管理规范是必不可少的。
本文将详细介绍SVN管理规范的内容。
一、版本库的组织1.1 项目结构- 版本库应按照项目进行组织,每一个项目对应一个独立的版本库。
- 在版本库中,可以根据项目的不同模块或者功能划分不同的目录。
1.2 分支与标签- 分支用于并行开辟不同版本的代码,应在需要并行开辟的版本上创建分支。
- 标签用于标记重要的版本,例如发布版本或者里程碑版本。
1.3 目录结构- 版本库中的目录结构应清晰明了,便于开辟人员快速定位所需文件。
- 避免在版本库中创建过多的目录层级,以免造成混乱和不必要的复杂性。
二、代码提交与更新2.1 提交前的准备工作- 在提交待码之前,应先执行更新操作,确保本地代码与版本库中的代码保持一致。
- 检查代码是否符合编码规范,确保代码质量。
2.2 提交信息的规范- 提交信息应简明扼要地描述本次提交的内容。
- 提交信息应包括相关的任务或者缺陷编号,便于追踪和溯源。
2.3 避免提交不必要的文件- 避免将编译生成的文件、暂时文件或者IDE相关文件提交到版本库中。
- 忽稍不必要的文件或者目录,以减小版本库的体积。
三、分支与合并3.1 分支的创建与合并- 在需要并行开辟的版本上创建分支,确保不同版本的代码相互独立。
- 分支合并前应先进行测试,确保合并的代码不会引入新的问题。
3.2 处理冲突- 在合并分支时,可能会浮现代码冲突的情况。
解决冲突时,应与相关人员进行沟通,确保解决方案的一致性。
- 解决冲突后,应进行全面的测试,确保合并后的代码没有引入新的问题。
3.3 定期合并主干代码- 定期将分支中的代码合并到主干,确保分支代码与主干代码的同步性。
- 合并前应先进行测试,确保合并的代码不会影响主干代码的稳定性。
JIRA和SVN
一、安装JIRA和SVN1、JIRA的安装直接双击.exe文件,并且将破解文件放入C:\Program Files\JIRA-Enterprise-3.12.3\atlassian-jira\WEB-INF\lib中;在安装过程中,需要选择备份的地方;2、SVN的安装1)首先安装Apache,其中需要填写服务器等信息,随便填写,没有什么大的关系;2)然后解压SVN;3)然后将SVN解压下来的bin文件夹下的intl3_svn.dll、libdb44.dll复制到Apache安装目录的bin目录下(如:E:\install\Apache2\bin),再将mod_authz_svn.so、mod_dav_svn.so复制到E:\install\Apache2\modules下;4)查看系统变量的path没有添加E:\install\Subversion\bin?如果没有添加,请添加;5)建立SVN的资源库,E:\svnroot,创建资源文件:E:\> svnadmin create E:\svnroot\proj1(这个是在命令行中进行的);6)修改E:\install\Apache2\conf下的httpd.conf。
去掉#打开对DAV的屏蔽,内容如下:LoadModule dav_module modules/mod_dav.soLoadModule dav_fs_module modules/mod_dav_fs.so另外添加两行:LoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so7)创建用户验证口令E:\install\Apache2\bin>htpasswd –c passwd wdl其中wdl就是唯一的用户,然后输入密码,再输入确认密码,生成passwd文件。
SVN管理规范
SVN管理规范一、背景介绍版本控制是软件开辟过程中的重要环节,它能够匡助团队协作、追踪代码变更、恢复历史版本等。
SVN(Subversion)是一种常用的集中式版本控制系统,它提供了一套完整的版本控制功能,能够有效管理代码的变更和版本历史。
二、目的本文档旨在规范团队在使用SVN进行版本控制时的操作流程和规则,确保团队成员之间的协作顺畅,代码管理规范。
三、SVN仓库结构1. 仓库结构的划分应根据项目的组织结构和需求进行设计,普通采用以下基本结构:- trunk:主干,用于存放主要的开辟代码。
- branches:分支,用于存放开辟过程中的暂时分支,如功能开辟、bug修复等。
- tags:标签,用于存放发布版本的快照,普通不允许修改。
2. 在仓库中,应避免直接在trunk目录下进行开辟,而是通过创建分支进行开辟,以保证主干的稳定性。
四、代码提交规范1. 在进行代码提交前,应先更新本地代码库,确保与远程仓库保持同步。
2. 提交待码时,应遵循以下规范:- 提交前应先进行代码审查,确保代码质量。
- 提交的代码应具有可读性,注释清晰明了。
- 提交的代码应符合团队的编码规范。
3. 提交信息应包含以下内容:- 提交的代码变更内容。
- 关联的任务、需求或者bug编号。
- 其他相关信息,如修复的问题描述、新增功能等。
五、分支管理规范1. 分支的创建应遵循以下原则:- 分支的创建应基于主干(trunk)进行,以保证分支的稳定性。
- 分支的命名应具有描述性,能够清晰表达其用途。
2. 分支的合并应遵循以下原则:- 分支的合并应在开辟完成后进行,确保代码的完整性。
- 合并前应进行代码审查,确保合并的代码质量。
3. 分支的删除应遵循以下原则:- 分支的删除应在合并后进行,确保再也不需要该分支。
六、标签管理规范1. 标签的创建应遵循以下原则:- 标签的创建应基于发布的版本进行,以保证版本的可追溯性。
- 标签的命名应具有描述性,能够清晰表达其对应的版本。
SVN管理规范
SVN管理规范引言概述SVN(Subversion)是一种版本控制系统,用于管理软件开发过程中的代码版本。
在团队协作开发中,SVN的管理规范对于保证代码的稳定性和可追溯性非常重要。
本文将介绍SVN管理规范的具体内容和实施方法。
一、代码库管理1.1 确定代码库的结构:根据项目的特点和需求,确定代码库的结构,包括项目目录结构、分支和标签的管理方式等。
1.2 设定权限控制:根据团队成员的角色和职责,设定不同的权限控制,确保只有具有相应权限的人员才能进行代码的提交和修改。
1.3 定期清理无用代码:定期清理代码库中的无用代码和过期分支,保持代码库的整洁和高效。
二、分支管理2.1 制定分支策略:确定分支的创建和合并策略,包括主干分支、开发分支、发布分支等,确保代码的流程清晰和合并无冲突。
2.2 命名规范:统一分支的命名规范,包括分支类型、功能、版本号等信息,方便团队成员理解和管理。
2.3 定期合并分支:定期合并开发分支和主干分支,确保代码的同步和一致性。
三、提交规范3.1 提交信息规范:每次提交代码时,必须填写清晰明了的提交信息,包括修改内容、原因和影响等信息。
3.2 避免大规模提交:避免一次性提交大量代码,应该分批次提交,便于代码审查和追溯。
3.3 定期更新代码:团队成员应该定期更新代码,确保本地代码和代码库的同步。
四、冲突解决4.1 及时解决冲突:当出现代码冲突时,应该及时解决,避免影响其他团队成员的工作。
4.2 沟通协调:在解决代码冲突时,应该及时与相关团队成员沟通协调,确保解决方案的有效性。
4.3 记录冲突处理过程:在解决代码冲突的过程中,应该详细记录解决方案和原因,以便日后参考和总结经验。
五、安全备份5.1 定期备份代码库:定期对代码库进行备份,确保代码的安全性和可恢复性。
5.2 多地备份:将代码库备份到不同地点,避免因灾害等意外事件导致代码丢失。
5.3 定期测试备份:定期测试代码库的备份数据,确保备份的完整性和可用性。
SVN与JIRA集成配置
Apache,SVN,JIRA,TestLink的安装及集成(Mysql数据库)1.Apache的安装:按默认安装即可2.JIRA安装:atlassian-jira-enterprise-3.13.0.exe默认安装即可,安装完成后配置JIRA连接Mysql:进入Mysql控制台:mysql –uroot –prootCreate database jiradb character set utf83.SVN安装:Setup-Subversion-1.5.2.en-us.msi,默认安装即可SVN配置:1)复制SVN安装目录下bin\mod_dav_svn.so和mod_authz_svn.so到Apache的Module下2)从Subversion安装目录将/bin/libdb*.dll和/bin/intl3_svn.dll复制到Apache的模块目录。
3)修改Apache的配置文件(通常是 Apache2\conf\httpd.conf),做出如下修改:去掉如下几行的注释(删除 '#'标记):#LoadModule dav_fs_module modules/mod_dav_fs.so#LoadModule dav_module modules/mod_dav.so将下面几行添加到LoadModule部分的最后。
LoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so4)配置项目:(假设SVN文档库目录为D:\SVN)在下面创建项目目录:projectA,在命令行到D:\SVN目录下执行:svnadmin create --fs-type bdb ProjectA5)配置用户在命令行至:Apache的Bin目录下执行:htpasswd -cm d:/svn/pass adminhtpasswd -m d:/svn/pass test6)配置SVN用户权限新建权限文件(D:\SVN\access-file),编辑:[projectA:/]Admin=rw//Admin对ProjectA有读定的权限Test= //Test用户对ProjectA无权限#[/] // 这个表示在所有仓库的根目录下#* = r // 这个表示对所有的用户都具有读权限#[groups] // 这个表示群组设置#svn1-developers = harry, sally // 这个表示某群组里的成员#svn2-developers = sally#[svn1:/]#@svn1-developers = rw // 如果在前面加上@符号,则表示这是个群组权限设置7)在 Apache Server 中配置 Subversion 档案库目录,在/conf/httpd.conf 文件尾部加入如下代码:<Location /svn>DAV svnSVNListParentPath onSVNParentPath D:\SVN#SVNIndexXSLT "/svnindex.xsl"AuthType BasicAuthName "Subversion repositories"AuthUserFile d:\svn\passwdAuthzSVNAccessFile d:\svn\access-fileRequire valid-user</Location>4.安装Subversion插件给JIRA,对应版本下载相应的插件:解压得到的zip文件:将Lib下的*.jar复制到JIRA的WEB-INF/lib下,修改解决得到的文件夹下的.properties文件,并将其复制到Classes目录,重启JIRA,Properties主要修改SVN.root对应的地方,选择一种连接方式,此处采用的是:svn.root=http://localhost/svn/projectAsvn.root.1=http://localhost/svn/projectB以及SVN对应的用户名和密码,注意与svn.root对应:# Subversion usernameername=admin#ername.1=test# Subversion passwordsvn.password=admin#svn.password.1=testSVN Plugin和JIRA版本的对应关系图5.下载并安装SVNWebClient:svnwebclient-3.1.0.zip,enscript-1.6.3-9-bin.zip将Svnwebclient-3.1.0.zip解压,得到一个svnwebclient.war文件,将其复制到JIRA的Webapp目录中,在浏览器中输入:http://localhost:8082/svnwebclient测试是否安装成功(此处是JIRA主机名和端口)解压enscript-1.6.3-9-bin.zip,将其复制到某个目录比如:D:\配置svnwebClient的Web.xml:1)添加如下几行(红色为enscript的存放目录)<context-param><param-name>EnscriptPath</param-name><param-value>D:\ProgramFiles\JIRA-Enterprise-3.12\webapps\svnwebclient\enscript-1.6.3-9-bin \bin\enscript.exe</param-value></context-param>2)添加以下几行:<context-param><param-name>RepositoryUrl</param-name><param-value>http://localhost:8082/svn</param-value></context-param>或者<context-param><param-name>ParentRepositoryDirectory</param-name><param-value>http://localhost/svn</param-value></context-param>3)修改SVN的用户名和密码:<context-param><param-name>Username</param-name><param-value>admin</param-value></context-param><context-param><param-name>Password</param-name><param-value>admin</param-value></context-param>4)修改SVNWebClient的字符集如下:<context-param><param-name>DefaultEncoding</param-name><param-value>UTF-8</param-value></context-param><context-param><param-name>ZipEncoding</param-name><param-value>UTF-8</param-value></context-param>5)修改Tomcat(因为这里使的是JIRA自带的Tomcat)的字符集:修改conf/Server.xml文件的如下:添加URIEncoding=”UTF-8”,修改useBodyEncodingForURI=”true”为useBodyEncodingForURI=”false”<Connector port="8082" URIEncoding="UTF-8"maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" useBodyEncodingForURI="false"enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />6.在JIRA里配置SVN的插件:以管理员登录JIRA进入管理页面,点击左侧导航的“”如图1所示,进入插件管理页面,如图2所示,选择“Subversion Plugin”链接进入Subversion Plugin管理页面,如图2所示,选择“Configure Plugin”管理Subversion plugin,如图3所示,选择“编辑”或“增加”进入如图4所示配置Repository页面,图中修改红色圈起部分,保存后重启JIRA图1图2图3图4 7.使用方法:1)进入JIRA创建一个Issue,如图5所示,Issue的Key为BUG-13图52)利用SVN客户端提交代码或文档时关联Issue(我使用的是TortoiseSVN),只需求在Message处输入相应Issue的KEY即可:图63)提交完成后进入JIRA查看相应Issue的详细信息,即可看到该Issue 对应版本的代码或文档,如图7所示,点击相应链接可以查看此Issue 对应的版本的代码,Subversion plugin默认情况下每一个小时更新一个SVN的Index,因此可能不能立即看到如下的内容,如果有需要可以参见4)修改系统的更新时间图74)修改JIRA更新SVNIndex的时间间隔:以管理员登录系统进入管理页面,点击左侧的“Services”链接进入Service管理页面,如图8所示,点击“Subversion revision Indexing Service”右侧的“编辑”对此服务的间隔时间进行修改,如图9所示,根据你的服务器的受压情况修改成相应的时间(单位:分钟)图8图98.SVN的权限控制:可以通过修改用户的“View Version Control”,来控制用户对SVN项(图7所示)的查看权限,图10所示图10。
利用JIRA进行敏捷项目管理和跟踪
利用JIRA进行敏捷项目管理和跟踪JIRA是一款功能强大的项目管理工具,被广泛应用于敏捷项目开发中。
它提供了丰富的功能和灵活的配置选项,使得团队能够高效地协作、追踪任务并确保项目的顺利进行。
本文将介绍如何利用JIRA进行敏捷项目管理和跟踪,帮助读者更好地利用这一工具。
一、项目创建和设置在JIRA中,首先需要创建一个项目。
项目可以根据实际需求进行设置,包括项目名称、描述、成员、权限等。
在创建项目时,还可以选择合适的项目类型,如敏捷软件开发、任务管理、问题跟踪等。
根据项目类型的选择,JIRA将自动生成相应的工作面板和报告。
二、故事板和任务列表敏捷项目管理中,通常使用故事板(Scrum Board)和任务列表(Kanban Board)来进行任务管理和跟踪。
故事板适用于Scrum方法论,可以将项目任务切分为多个用户故事,并根据项目进度进行任务拖动和优先级调整。
任务列表则适用于Kanban方法论,将任务按照列进行分组,通过拖放方式进行任务的推进。
三、故事点和迭代规划在JIRA中,可以使用故事点(Story Points)来估算任务的复杂度和工作量。
故事点不是绝对时间单位,而是一种相对估算的方式,根据经验和团队实际情况进行评估。
通过对任务进行故事点评估,可以更好地进行迭代规划,确保迭代内的任务量合理分配。
四、任务分配和追踪JIRA提供了便捷的任务分配和追踪功能,可以将任务分配给相应的团队成员,并随时跟踪任务的进度和状态。
团队成员可以通过JIRA查看自己分配的任务,并及时更新任务状态、备注和附件等信息。
同时,通过任务的移动和拖放,可以将任务从一个状态推进到下一个状态,方便团队对任务状态的统一追踪。
五、报告和可视化JIRA提供了丰富的报告和可视化功能,帮助团队和项目经理进行项目状态监控和分析。
常用的报告包括燃尽图、迭代报告、工时报告等,这些报告可以直观地展示项目进度、任务完成情况和团队绩效等信息。
通过这些报告,团队可以及时调整项目计划,并进行优化和改进。
软件工程中的版本控制和代码管理工具
软件工程中的版本控制和代码管理工具软件工程是一门复杂而又重要的学科,它涉及到多个方面的知识和技术,其中版本控制和代码管理工具是非常关键的一部分。
在开发软件的过程中,不可避免地会产生大量的代码以及不同的版本,有效地管理和控制这些版本和代码成为了软件工程师必备的技能。
本文将重点介绍软件工程中常用的版本控制和代码管理工具,以及它们的作用和特点。
一、版本控制工具版本控制是软件工程中的一项核心任务,它可以追踪和管理软件开发过程中的各个版本,确保开发团队的协作和项目的稳定性。
以下是常用的版本控制工具:1. GitGit是目前最流行的版本控制系统之一,它是由Linus Torvalds为了管理Linux内核开发而创建的。
Git的特点是分布式版本控制,可以在本地进行操作而无需联网,具备高效的分支管理能力,能够方便地进行代码的合并和冲突解决。
Git的命令行界面相对复杂,但是具备强大的功能和灵活性,是开源项目和企业开发团队广泛采用的版本控制工具。
2. SVNSVN(Subversion)是一种集中式版本控制工具,它由Apache软件基金会开发。
与Git不同,SVN需要与中央代码仓库进行交互,开发者需要从仓库中获取最新的代码,并将修改后的代码提交到仓库中。
SVN相对于Git而言,命令操作较为简单,适合小型项目或对版本控制要求不高的团队使用。
3. MercurialMercurial是另一种分布式版本控制工具,它与Git类似,但更加注重用户友好性和易用性。
Mercurial具备简单的命令行界面和直观的图形化界面,适合初学者和个人开发者使用。
二、代码管理工具代码管理工具是软件工程中的另一项重要工具,它可以帮助开发团队有效地管理代码,提高工作效率和代码质量。
以下是常用的代码管理工具:1. JIRAJIRA是一款由Atlassian开发的项目管理工具,可以用于任务跟踪、问题追踪和项目管理等。
在代码管理方面,JIRA提供了强大的代码管理功能,可以与版本控制工具集成,实现代码与任务的关联和跟踪。
软件研发管理-基于JIRA+SVN的版本管理交流-白冰
2010 Confidential
三、JIRA+SVN软件版本管理 2)JIRA多版本
c)版本控制报告(自动生成):趋势分析
2010 Confidential
三、JIRA+SVN软件版本管理 2)JIRA多版本
c)版本控制报告(自动生成):趋势分析
2010 Confidential
三、JIRA+SVN软件版本管理 1)JIRA+SVN
缺陷跟踪:缺陷跟踪采用JIRA为平台进行管理,与配置管理 SVN相结合,将问题Key+问题描述与SVN的代码提交相结合,让 问题的追溯和版本更新更清晰。
2010 Confidential
添加修改代码文件 1
1)JIRA+SVN
将修改后的文件提交到SVN, 在Message对话框中填写JIRA
JIRA Subversion Commits
2010 Confidential
版本管控-脱机管理
基于开发机进行版本管控
版本释放:版本号中包括源代码Revision信息SVN:29309
1.Bug修复(与SVN结合)
2.整理热点补丁、热点回 退补丁,补丁说明等。
2010 Confidential
3.验证测试后进行补丁发布
目录
一、软件研发价值新趋势 二、软件研发、交付环节暴露的问题 三、JIRA+SVN软件版本管理
– 1)代码提交与问题单相结合(JIRA+SVN) – 2)JIRA多版本管理 – 3)JIRA+SVN版本管理案例
四、JIRA的其他功能
2010 Confidential
三、JIRA+SVN软件版本管理
SVN管理规范
SVN管理规范引言概述:软件版本控制是软件开辟过程中非常重要的一环,它能够匡助团队有效地管理代码和文档的变更,提高开辟效率和代码质量。
SVN(Subversion)是一种常用的版本控制系统,本文将介绍SVN管理规范,匡助团队更好地利用SVN进行版本控制。
一、版本库的组织与管理1.1 创建适当的版本库结构在创建版本库时,应根据项目的特点和需求,合理划分目录结构。
可以按照模块、功能、部门等进行划分,以便更好地管理和维护代码。
1.2 定义版本库的访问权限为了保护代码的安全性和保密性,应根据团队成员的角色和权限,设置合适的访问权限。
普通来说,开辟人员可以读写,测试人员可以读,其他人员只能读取代码。
1.3 定期备份版本库为了防止版本库数据的丢失或者损坏,应定期对版本库进行备份。
可以选择将备份数据存储在不同的物理位置,以提高数据的安全性。
二、代码的提交与更新2.1 提交待码前进行代码审查在提交待码之前,应进行代码审查,确保代码的质量和规范。
代码审查可以匡助发现潜在的问题和错误,并提供改进的建议,提高代码的可读性和可维护性。
2.2 提交故意义的注释在提交待码时,应编写故意义的注释,解释代码的变更原因和目的。
这样可以方便其他团队成员理解代码的变更,并在需要时进行回滚或者追溯。
2.3 更新代码前进行冲突解决在更新代码之前,应先进行冲突解决。
当多个团队成员同时修改同一文件时,可能会发生冲突。
及时解决冲突,可以避免后续开辟过程中的问题和延误。
三、分支与合并管理3.1 合理使用分支在开辟过程中,可以根据需要创建分支,以便并行开辟不同的功能或者解决不同的问题。
分支可以提高团队的协作效率,减少代码冲突的可能性。
3.2 定期合并分支当分支开辟完成或者解决问题后,应及时将分支合并回主干。
合并前应进行测试,确保合并后的代码能够正常运行,并解决可能浮现的冲突。
3.3 记录合并信息在合并分支时,应编写合并信息,记录合并的目的和过程。
关于JIRA结合SVN的项目管理
关于JIRA结合SVN的项目管理关于JIRA结合SVN的项目管理V1.0撰写人:吕晓晨(67547)更新日期:2012-10-21亚信联创科技股份有限公司目录一、前言 31、适用者 32、说明 33、流程概要 34、重点关注 4二、结合JIRA管理版本 41、选择项目 42、项目版本 53、创建新版本 5三、项目开发流程规范 61、需求的来源, 创建新问题 62、开发经办人接受JIRA任务需求 73、开发经办人解决问题 94、需求分配至测试人员 105、任务的关闭 106、开发人员在SVN代码库打tag 107、版本发布 128、上线 129、版本归档 13四、单人与多人开发并存的情况 131、单人开发: 132、多人并行开发 14五、Q&A 161、项目版本的定义 162、接收一个新的JIRA单,有了新需求,如何从SVN取最新开发代码版本 163、关于项目管理中的角色 18一、前言本文档适用开发人员,测试人员及项目涉及相关管理人员,并对JIRA管理平台,SVN版本控制有一定操作经验者。
本人文档不涉及JIRA项目管理平台,SVN版本控制软件具体的操作及应用,相关详细使用操作,请参照官方提供的使用手册或其它文档。
在这里首先简要说明一下项目管理流程:前期,客户提出相关需求,项目经理协商后接收需求。
由设计人员出具满足客户要求的用户需求书,并针对开发人员编写概要设计文档。
在已有产品的情况下,根据事先的规定,项目管理人员通过JIRA 管理平台,在对应省份的产品项目,创建新的需求,并定义新的版本号(版本号参照第二章的第6小节的描述),新的版本号将代表了本次版本的更新来源及满足了客户何种需求,提交必要的概要设计文档等,并填写相关环境信息。
新需求创建好以后,创建者可以分配需求到相关开发人员。
开发人员通过人个帐号成功登录JIRA 平台后,接受新需求,并开始进行这个需求,在规定开发周期内完成开发任务,并更新或部署能测试本次需求是否按要求已实现的测试系统,必提交必要的文档或填写可以更好地有助与测试的备注信息,完成以上规定动作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2)JIRA多版本
2010 Confidential
三、JIRA+SVN软件版本管理 2)JIRA多版本
c)版本控制报告(自动生成):Roadmap(路线图)
PM/PSM通过需求、改进点、缺陷的 分拣,实现交付节奏的控制
2010 Confidential
三、JIRA+SVN软件版本管理 2)JIRA多版本
转变:软件供应商独家交付咨询服务商+软件开发商协同研发 2.企业管理越来越专业化、精细化
要求:用户对软件的功能细节、可用性,用户体验的要求越来越高
3.监管法规、行业政策等促使企业管理的持续改善 要求:1.软件供应商的研发管理能力、版本管理能力等 2.用户对软件质量要求越来越高
财政部 证监会 审计署 银监会 保监会 关于印发《企业内部控制基本规范》的通知 (本规范自2009年7月1日起实施)
中的问题号+问题概要描述
2
2010 Confidential
在JIRA环境中即可查看到与此 问题相关的原文件的改动,起
到关联可追溯的目的。
3
三、JIRA+SVN软件版本管理 1)JIRA+SVN
JIRA Subversion Commits
2010 Confidential
三、JIRA+SVN软件版本管理 2)JIRA多版本
三、JIRA+SVN软件版本管理 1)JIRA+SVN
缺陷跟踪:缺陷跟踪采用JIRA为平台进行管理,与配置管理 SVN相结合,将问题Key+问题描述与SVN的代码提交相结合,让 问题的追溯和版本更新更清晰。
2010 Confidential
添加修改代码文件 1
1)JIRA+SVN
将修改后的文件提交到SVN, 在Message对话框中填写JIRA
三、JIRA+SVN软件版本管理
3)案例
4-1 打包/make WAR
PSM QC
软件交 2C0o付1n0fid节en奏tial
4-2 测试/关闭问题
QC
JIRA配置库
以下机制相互衔接建立联系
1、软件研发规划版本(版本号,范围定义) 2、JIRA版本(版本号,问题需求清单) 3、SVN标签 4、应用程序包命名 5、程序“关于”中版本提示(如V1.4.1 build 38209)
问题跟踪解决-常规流程
PM/PSM 问题分拣 问题监控 统计分析
2.分拣问题
Developers
3.受理问题
4.解决问题
1)JIRA+SVN
PMO
创建项目, 版本,模块, 项目组成员 权限分配等
Issue
Issue
Issue
1.报告问题
6.重新打开问题 QC
5.确认解决
Issue
2010 Confidential
PM/PSM
每个版本包含三个要素: 1.需求和缺陷的集合 2.决策优先级 3.结合团队交付效率的合理 完成时间
软件交 2C0o付1n0fid节en奏tial
系统 设计
软件 实现
验证 测试
版本 发布
三、JIRA+SVN软件版本管理
3)案例
分拣问题-修改修复版本
1-2 需求/问题分拣
PM/PSM
注意: 1.指定修订版本 2.分配责任人,关注人等
验证 测试
版本 发布
3-4 解决问题
Developer
关键: 按照交付节奏进行问题的受 理与修订
三、JIRA+SVN软件版本管理
3)案例
4-0 修改系统“关于”
代码提交 PSM
软件交 2C0o付1n0fid节en奏tial
系统 设计
软件 实现
验证 测试
版本 发布
注意: 1.填写 版本号 1.4.1 2.填写 SVN修订号 38209 3.填写 版本日期 2010.05.26
2010 Confidential
三、JIRA+SVN软件版本管理 2)JIRA多版本
a)软件版本规划:制定版本的交付节奏-时间
版本的三种状态: 发布/released、 未发布/unreleased、 归档/archived
2010 Confidential
影响版本:bug在哪些版本中被发现 修复版本:bug计划在哪个版本中修复
2010 Confidential
三、JIRA+SVN软件版本管理
重点: 1.软件需求和交付节奏 2.需求变更与缺陷跟踪
可能是n次迭代
软件交 付节奏
系统 设计
软件 实现
验证 测试
版本 发布
运行 维护
3)案例
VSS
2010 Confidential
三、JIRA+SVN软件版本管理
3)案例
1-1 版本定义
系统 设计
软件 实现
验证 测试
版本 发布
三、JIRA+SVN软件版本管理
3)案例
5-1 发布版本
PSM
5-2 版本发布通告
PSM QC
软件交 2C0o付1n0fid节en奏tial
系统 设布
四、JIRA的其他功能
Dead line:创建任务/缺陷时指定完成期限(dead line) 工期管理:创建任务,评估工期、反馈工期/工作记录(一个 任务可以多次反馈) 任务管理 风险管理 …
软件交 2C0o付1n0fid节en奏tial
系统 设计
软件 实现
验证 测试
版本 发布
三、JIRA+SVN软件版本管理
3)案例
2 系统设计
Designer
VSS
注意: …
软件交 2C0o付1n0fid节en奏tial
系统 设计
软件 实现
验证 测试
版本 发布
三、JIRA+SVN软件版本管理
eb/QYG40921 Trunk
c)版本控制报告(自动生成):趋势分析
2010 Confidential
三、JIRA+SVN软件版本管理 2)JIRA多版本
心得: 1.版本要早规划早定义,而不是开发后再确定版本号 2.使用工具辅助开发管理,让“异地开发管理” 变得简单; 3.作为介质,为开发管理的持续改进提供了数据支撑
已发布 已发布 已发布
2010 Confidential
一、软件研发价值新趋势
Size makes differences
Code size (lines) Complexity Repeated updates Developer(s) Reliability requirement
Small program
Tens to hundreds Low No
供应商
需求管理 分析设计
开发 测试
软件需求管理 软件版本无规划
单元测试缺失 版本持续集成 集成测试
实施运维
持续版本升级
2010 Confidential
需求传递失真 非功能性需求被忽略
需求变更
版问 版 本题 本 交管 发 付理 布 节与 失 奏修 控 失正 控随
意
用户验收测试
分阶段上线 个性化需求
客户
SVN样例
SSC
3-0 SVN规划
PSM
Web App
Report Files
Tags
DB Script
3)案例
… SSC_v1.3.5_online_formal SSC_v1.3.6_online_formal
注意: 1.SVN源代码配置库要全 面:*.java,*.jsp,*.xml,*.sql,… 2.配置目录结构PSM要做好规划; 3.每位研发团队成员按规范操作。
能够赢得客户赞誉和附加值的是质量、可用性、性 能、相应及时性、团队工作氛围、信任度等软指标
2010 Confidential
目录
一、软件研发价值新趋势 二、软件研发、交付环节暴露的问题 三、JIRA+SVN软件版本管理 四、JIRA的其他功能
2010 Confidential
二、软件研发、交付环节遇到的问题
2010 Confidential
c)版本控制报告(自动生成):Release report(发布报告)
2010 Confidential
三、JIRA+SVN软件版本管理 2)JIRA多版本
c)版本控制报告(自动生成):Change log(修改日志)
2010 Confidential
三、JIRA+SVN软件版本管理 2)JIRA多版本
目录
一、软件研发价值新趋势 二、软件研发、交付环节暴露的问题 三、JIRA+SVN软件版本管理
– 1)代码提交与问题单相结合(JIRA+SVN) – 2)JIRA多版本管理 – 3)JIRA+SVN版本管理案例
四、JIRA的其他功能
2010 Confidential
三、JIRA+SVN软件版本管理
Usually one person Low
2010 Confidential
Working system
104~107 High Yes
Usually many people High
一、软件研发价值新趋势
软件研发的发展趋势有以下几个特点:
1.客户越来越成熟,分工越来越细致 要求:对业务咨询能力、需求前瞻能力要求提高
业务驱动力 技术驱动力
– 协作 – 新业务 – 资金 – 财务共享中心
融合催生
– 用户体验 – 平台无关 – 集成 – 技术路线
– 营销 – 物流 – 分析 – 数据中心