...
Application | Repository Root |
---|---|
Rice Standalone Server | https://svn.ucdavis.edu/svn/kuali/RiceStandaloneServer/rice-db/ |
MyInfoVault | https://svn.ucdavis.edu/svn/kuali/RiceApplications/MyInfoVault/ |
Kuali Financial System | https://svn.ucdavis.edu/svn/kuali/RiceApplications/KualiFinancialSystem/ |
Kuali COEUS | https://svn.ucdavis.edu/svn/kuali/RiceApplications/KualiCoeus/ |
UCD Time Reporting System | https://svn.ucdavis.edu/svn/kuali/RiceApplications/TimeReportingSystem/ |
Core Billing Project | https://svn.ucdavis.edu/svn/kuali/RiceApplications/CoreBilling/ |
Info | ||
---|---|---|
| ||
New developers should request SVN access by creating a ticket in the Kuali Rice Access JIRA project. |
...
- Release versions of data sets must be stored in
<Repository Root/tags/<client release version>
(e.g. https://svn.ucdavis.edu/svn/kuali/RiceApplications/MyInfoVault/tags/3.5) - Only the Rice DBA and appropriate client application migrators have access to the
tags
directory in the repositories. - The data sets must come in the form of SQL scripts. Each deployment will contain a deployment wrapper script and then one or more data scripts.
- You can download templates of deploy script and data script.
Code Block | borderStyle | solid|||
---|---|---|---|---|
| ||||
---------------Opening Section------------------- COL DT NOPRINT NEW_VALUE db_date; SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD-HH24MISS') DT FROM DUAL; COL db NOPRINT NEW_VALUE db_name; SELECT SYS_CONTEXT ('RICE', 'MOTHRA') DB FROM DUAL; ----- Name the spool file ----- SPOOL ./deploy-rice-KR-<Jira-####>--&db_date-&db_name.log; SET ECHO ON; SET TERMOUT ON; SET VERIFY OFF; SET TRIMSPOOL ON; SET SERVEROUTPUT ON SIZE 1000000; WHENEVER SQLERROR EXIT SQL.SQLCODE ROLLBACK; WHENEVER OSERROR EXIT SQL.SQLCODE ROLLBACK; SET ECHO ON; ----- RICE KR-#### Deployment ----- SHOW USER; @<child-script1>.sql @<child-script2>.sql ----- Deployment Complete ----- SPOOL OFF; |
Code Block | borderStyle | solid|||
---|---|---|---|---|
| ||||
SET SQLBLANKLINES ON SET DEFINE OFF -- DDL/DML Statements -- DDL/DML Statements commit; / |
...
- A migrator files a ticket in the Kuali Rice JIRA project requesting migration of a data set to the Rice database. The JIRA ticket should provide a link to the SVN location of the data files. The Jira ticket request should include a Priority as well as targeted date and time for the deployment.
- Upon approval, the migrator copies the data set to the
<Repository Root/tags/<client release version>
directory, citing the Kuali Rice JIRA ticket.Code Block borderStyle solidtitle Example:Migrating to <tags> borderStyle solid svn copy https://svn.ucdavis.edu/svn/kuali/RiceApplications/KualiCoeus/trunk/datasets https://svn.ucdavis.edu/svn/kuali/RiceApplications/KualiCoeus/tags/2.0 -m "<KR JIRA ticket>"
- Prior to a release, the migrator adds a task (or requests that a task be added) in the Deployment Plan stating that the data set is to be migrated.
- The Rice Service Manager creates a ticket in the Kuali Rice JIRA project that reflects this task and assigns it to the Rice DBA.
- Jira ticket should specify the KR_1234_deploy.sql script to execute.
- Jira Ticket should contain the svn command specifying the repository, tag and release:
svn co specific repository location of the script(s): (eg. https://svn.ucdavis.edu/svn/kuali/RiceApplications/KualiCoeus<Application>/tags/2.0<release_version>)Code Block
- The Rice DBA checks the data set out from the repository.
- Log onto the appropriate database server
- cd /opt/pkg/oracle/subversion
- Execute svn co https://svn.ucdavis.edu/svn/kuali/RiceApplications/<Application>/tags/<release_version> command against the repository location provided in the Jira Ticket.
Code Block $ svn co https://svn.ucdavis.edu/svn/kuali/RiceApplications/<Application>/tags/<release_version> <Application>
- This will create an <Application> directory with a <release_version> subdirectoryThe <release_version> subdirectory will contain script(s) which will be named for the Jira ticket number (eg. KR-1234.sql).
or - If the <Application>/<release_version> directory exists from a previous deployment:
- cd /opt/pkg/oracle/subversion/<Application>
...
- /<release_version>
- Execute svn update
Code Block $ cd
...
/opt/pkg/oracle/subversion/<Application>
...
/<release_version> $ svn update
- The <release_version> subdirectory will contain script(s) which will be named for the Jira ticket number (eg. KR-1234.sql).
- Access Mothra Test DB as environment schema owner noted in Jira ticket and execute script:
Code Block sqlplus <environment schema owner>/<password> @KR_####_deploy.sql
- The Rice DBA attaches the script output to the JIRA ticket
- During a dry-run deployment, the Rice DBA executes the data set scripts against the UPSTAGE environment database.
- At deployment time, the Rice DBA executes the data set scripts against the production database.