"Go" Product configuration Management operation specification

Source: Internet
Author: User
Tags code tag metabase voms

   1. Development Library Structure Specification 1.1. OverviewThis specification is used to instruct SCM managers to create a development library to ensure the commonality of the development library structure. 1.2. Development Library Structure SpecificationThe development library structure is referenced in the development library structure template. zip. 2. Account naming specification 2.1. OverviewThis specification summarizes the Configuration ManagementConfigure the library's account naming specification in the process. Facilitate timely query by SCM engineers to ensure user account uniqueness and ease of use. 2.2. Development Library Account naming specificationThe name of the development library account, mainly according to the user's mailbox, depending on the mailbox and slightly changed, each user's account name is unified in English lowercase. As follows: Change the mailbox domain name to "."  (not including quotation marks), and then as the login account name of CVS. Example 1: User, John Doe mailbox for, [email protected]***.com account for, lisi.***.com Example 2: The same-name user, John Doe mailbox for, [email protected]***.com account for, zblisi.***.com 2.3. Delivery Library account naming specification1. Keep the name of the account with the development library in the same order; 2. Same as the development Library naming convention; 2.4. Sympa account naming Specification1. Start with the corresponding development library name as the account number; Example 1: Development Library is SCM Sympa account for, [email protected]***.cn,[email protected]***.cn etc. 2.5. Bugzilla Account naming Specification1. Each user workEmail as account number; 2.6. RT account Naming Specification1. Each user takes the work mailbox as the account number; 2.7. Tcedit account naming Specification1. Each user takes the work mailbox as the account number; 2.8. VPN account naming specification1. Keep the name of the account with the development library in the same order; 2. Same as the development Library naming convention; 3. Account must be directly authorized by the Director to open; 2.9. Account password naming specification1. The user's account password is randomly generated by numbers and letters. For example: A86345, dFd438, 7yue3s; 2. The password can not include ":" "@" and other special symbols; 3. The password for each account is unique. 2.10. Group Email List   3. Account Rights Management Specification    3.1. OverviewThe company establishes the corresponding development library and delivery library for each product, and in order to manage the access rights of different members of the project group to the configuration library, the SCM engineer needs to operate according to this specification. 3.2. Account Rights Management Specification1. SCM Manager to complete the creation of the configuration library within 1 business days, to the project manager, Product Manager, business area director, QA Engineer to open the relevant configuration database account, and issue "create notification of new configuration library" or "Do not use the default structure configuration library creation notification" or "new project use the original Configuration library creation notification" e-mail notification; 2. The Product manager, project Manager obtains the configuration library structure and the permission table from the development library, fills in the related account number, the permission information. After completion, the "Configuration Library structure and permission table" as an email attachment to SCM engineer; 3. SCM Engineer should receive the mail within 1 business days, complete the account opening work, send "all Personnel account Notification" mail to the project manager, and also copied to account holders, the director of the field, and QA engineer; 4.  For account number, password details, SCM Manager or SCM engineer must send "CVS personal account Notification" and/or "FTP Personal account upload rights notification" and (or) "FTP person account download rights notification" Separate email notification to each account holder. 5. In some special cases, SCM engineer can be opened according to verbal notification account, permissions, but need to update the "Configuration library structure and permission table"; 6. SCM engineers need long-term retention of received, reply to the opening, change account, permission information related mail, archived for reference. 3.3. Basic rules for permissions1. Permissions are defined by directory and avoid defining permissions for specific files; 2. Permissions are divided into groups of permissions by role, and different permission groups have different permissions to avoid the same permissions between groups and groups; 3. Different permission groups have permissions for different documents, source code directories, and a permission group that has all the documents or source code directories in the permissions; 4. When the SCM engineer creates a new configuration library, the permission information in the configuration library structure and permissions table submitted is the default permission defined by the above rules, and the project manager can modify the configuration library according to the specific situation, but it is necessary to comply with the above rules; 5.  SCM Engineer in the opening, change the permissions, need to check whether the above rules, inconsistent with the timely feedback to confirm. 6. The permissions of the development library generally do not exceed the level three directory. 4. Mailing list Management Specification 4.1. OverviewBy mailing lists, the company's mailbox users are grouped according to the project group, which is similar to the mass mailing function, which provides a convenient way for the project team to communicate with each other. 4.2. Email Address SpecificationThe mailing list is for intra-group communication only, and the email address in the mailing list only allows group mail. Group Email list see section 2.5. 5. Version Management Specifications   5.1. OverviewSave all version records of a configuration item according to certain rules, avoid the loss or confusion of versions, and quickly and accurately find any version of the configuration item. 5.2. Version naming rules for source code1. General format: "English project name or module name." Project version. Serial number ". Where the project version format is: "Major version number. Child version number [. Fix version number]"; For example: webshop.3.0.2.1. Among them, Webshop, is the English project name, 3.0.2, is the project version, 1, is the serial number; webshop.3.0.2.12.  Among them, Webshop, is the English project name, 3.0.2, is the project version, 12, is the serial number.  2. Maintenance Project format: "English project name or module name." Maintenance project version. Serial number ". Where the project version format is maintained: "{sp|fix|hotfix| ...} Major version number "; for example: ***.sp1.1. Among them, * * *, is the English project name; SP1, is the maintenance project version, 1, is the serial number. 5.3. Version naming rules for documents1. General format: "v. Project version. Serial number"; The project version format: "Major version number. Child version number [. Fix version number]"; For example: v.3.0.2.1.  where V, is a fixed prefix; 3.0.2, is the project version; 1, is the serial number. 2. Maintenance Project Format: "V. Maintenance project version. Serial number"; in which, maintenance project version format: "{sp|fix|hotfix| ...} Major version number "; for example: v.sp1.1. where V, is a fixed prefix; SP1, is the maintenance project version; 1 is the serial number. 5.4. Version of Tag ID1. The version number of the source code and documentation is identified in the development library with tag, as CVS does not have "." In the tag, so the "." In the version Replace with "-" in tag; 2. General format: "English project name or module name-project version-serial number", "V-Project version-serial number", where the project version format: "Major version number-sub-version number [-Fixed version number]" For example: webshop-3-0-2-1, webshop-3-0-2-12,  V-3-0-2-1. 3. Maintenance Project Version format: "English project name or module name-maintenance project version-serial number", "V-Maintenance project version-serial number", which maintains the project version format: "{sp|fix|hotfix| ...} Major version number "For example: ***-sp1-1, V-sp1-1. 6. Automatic compilation operation specification 6.1. OverviewIn order to ensure the consistency of the source code and the package in the delivery library, and to improve the efficiency of compiling the source code, the SCM engineer should automatically compile the operation according to this specification. 6.2. Determine compilation informationSCM engineers are required to determine the compiler, compiler tools, and compile the environment variables needed according to the project compiling manual and the virtual machine list contents. 6.3. Build an auto-compile client-side compilation environmentBuilding the client-side compilation environment is mainly for the environment variable configuration, and the installation of the compilation tool. For example, the compilation information specifies the installation apache-ant-1.6.5, which defines the environment variable ant1.6.5:1. Install this program on the compiled machine; 2. Locate the Cc-agent installation folder, open Start.bat as Notepad, and fill in an environment variable record: set ant1.6.5=e:apache-ant-1.6.5; 6.4. Build Builder UsersThe SCM Engineer builds the builder user into the project and assigns it to the BD permission Group, which facilitates the compilation system to get the source code from the Builder user.  Modify the Tagcheck file to automatically lock the source code tag for automatic compilation. Tagcheck File example below #! /bin/sh # TAG Add/mov/del repo files ... # $ $ $ $4 ... case ' $ ' in v-* ' case ' $CVS _user ' in Zbwangjian |  Fengcui) exit 0 # OK; *) echo "$CVS _user does not having permission to perform this tag operation!"  1>&2 exit 1;;  ESAC;;  datacenter-*) Case "$CVS _user" in builder) exit 0 # OK; *) echo "$CVS _user does not having permission to perform this tag operation!"  1>&2 exit 1;;  ESAC;;  *) Exit 0 # not reserved, OK.; Esac 6.5. Configuring the server-side environment for automatic compilation  After the automatic compilation of client environment variables and the completion of the tool configuration, the automatic compilation server side is started to be configured.  1. First, go to the following directory to automatically compile the server side: $CD/cruisecontrol/projects/project11/ In this directory you can see two templates in XML format: 0linux.xml and 0windows.xml, respectively, for the Linux system compiler and the Windows system compiler.  Select Copy according to the actual compiler system, and modify the name to the form "English project name or module name-project version. Xml", and the name must begin with the name of the development library to ensure that the tag lock is valid.  Take 0linux.xml, for example, to explain how to modify a configuration file. ("*" is the content to be modified, "#" after the comment) <?xml version= "1.0" encoding= "GBK"?> <cruisecontrol> <project name= "* * *" Buildafterfailed= "false" > #英文项目名或模块名-project version, such as ***-1-0 <property name= "module" value= "***/***"/> #编译脚本所在目录 < Property Name= "Module2" value= "***/***"/> #检出到本地的编译脚本所在目录 (Windows note slash direction is "") <property name= "Ftp2.dir" value= "/ Repository/ftpdata/***/output/${project.name} "/> #项目配置库名称, such as Cvstrain <property name=" tag "value=" * * * "/> # The tag number of the system integration engineer, in order to make it easy to remember, take the compile script name "." Prefix as tag number, for example: the compilation script name is "build.sh", Tag is "build" <property name= "BuildFile" value= "***.sh"/> #编译脚本名称, for example: build.sh, Windows is BUILD.bat <property name= "Cvsroot" value= ":p server:builder:*** @scm3. ***.cn:/repository/***"/> #输入所建立builder的密码 <property name= "Agent" value= "agent.name=***"/> #编译服务器的agentname, you can find it in "virtual machine manifest. doc" <property name= "Buildresultsurl" value= "Http://scm3.***.cn:8080/cruisecontrol/buildresults/${project.name}"/ > <property name= "mailto" value= "***@***.cn"/> #执行编译操作人员的邮件地址, if more than one person needs to receive, use mailing list <property name= "Mailhost" Value= "mail.***.cn"/> <property name= "returnaddress" value= "[email protected]"/> 2.  Then, go back to the top level directory and configure the Config. metabase file. The file information is as follows: <cruisecontrol> <property name= "Cruise.dir" value= "/opt/cruisecontrol-2.7.1"/> <property Name= "Jetty.dir" value= "/opt/jetty-6.1.6"/> <property name= "Log.dir" value= "${cruise.dir}/logs/${ Project.name} "/> <property name=" Checkout.dir "value=" ${cruise.dir}/checkout/${project.name} "/> < Property Name= "Output.dir" value= "${cruise.dir}/output/${project.name}"/> <property name= "Ftp.dir" value= "/ Repository/ftpdata/${project.name}/output "/> <property name=" Status.file "Value= "${log.dir}/status.txt"/> <pluginname= "distributed" Classname= " Net.sourceforge.cruisecontrol.builders.DistributedMasterBuilder "/> <pluginname=" Labelincrementer " Classname= "Net.sourceforge.cruisecontrol.labelincrementers.CVSLabelIncrementer"/> <include.projects file= " ${cruise.dir}/projects/*** "/> #项目xml文件的路径 <system> <configuration> <threads count="/> </   Configuration> </system> </cruisecontrol> At this point, the compilation environment configuration is complete. 6.6. Display compiled Project RecordsOpen the CruiseControl compile page, such as http://scm1.***.cn:8080/cruisecontrol5/, and there is no new compiled project record, at this point, you should first click on a pre-designed test project Engineering, For example cvstrain-win-5-0, click the Build button, and then you will see the newly created compilation Project record. 6.7. Documenting compilation environment InformationAfter the build environment is completed, 1. The SCM Engineer Records the compilation environment information into the project baseline record table; 2. SCM Engineer Reply Mail "Automatic compiling notification" to system integration engineer; 3. The System Integration engineer follow the instructions in the mail, give the code to compile the tag number, and then log on to the relevant page to compile the work. Note:1. If the project is not automatically compiled for the first time, this can be simplified: The SCM Engineer examines the project compilation manual and the predecessor version of the Project compilation manual, and if the compilation environment describes the same, you can configure a new compiled project record only for the automatic compilation server side. First, go to the following directory to automatically compile the server: $ cd/cruisecontrol/projects/In this directory, you can select the previous version of the project's XML file as a template, copy it, and modify the name to the version name of this project in the form "  English project name or module name-project version. Xml.  Go to the profile, modify project name for this project title, if there are no special instructions, others are the same as previous versions, after the configuration is complete, save exit. Then, go back to the top level directory and configure the Config. metabase file.  Copy the Include node information from the previous version and modify the name of the. xml file that the XML file name is modified above.  L The SCM engineer replies to the email "Automatic compiling notification" to the system integration engineer after the construction is completed. 2. During the compilation process, if there is a problem, SCM engineers need to assist the compiler to solve the problem, until the successful compilation; 3. Automatically compile the system failure, network failure, etc., temporarily unable to use automatic compilation, SCM engineer to notify the relevant QA and SCM Manager by mail, approved by the SCM engineer according to the system integration engineer provided by the tag number, according to the specification of the new tag number, manually compiled, Manually upload the Shanku (FTP), the rule for the Delivery Library directory is: The last successful automatic compilation tag number-* (* For the letter a,b,c ... ), such as: Voms-1-1-7-a,voms-1-1-7-b 4. Approval is not automatically compiled project, by the system integration engineer or SCM engineer manually compiled by the SCM engineer manually upload the Shanku (FTP), the rules for the Delivery Library directory is: Tag number A, such as: voms-1-1-7-a,voms-1-1-8-a Records are not automatically compiled for the Project baseline record table, such as: Approved for automatic compilation

"Go" Product configuration Management operation specification

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.