Which Developper does not know VERSION CONTROL?
A component of software configuration management, version control, also known as revision control or source control, is the management of changes to documents, computer programs, large web sites, and other collections of information.
Changes are usually identified by a number or letter code, termed the "revision number", "revision level", or simply "revision". For example, an initial set of files is "revision 1".
When the first change is made, the resulting set is "revision 2", and so on. Each revision is associated with a timestamp and the person making the change. Revisions can be compared, restored, and with some types of files, merged.
The top open-source version control systems
Subversion is probably the version control system with the widest adoption. Most open-source projects use Subversion as a repository because other larger projects, such as SourceForge, Apache, Python, Ruby and many others, use it as well. Google Code uses Subversion exclusively to distribute code.
Git is the new fast-rising star of version control systems. Initially developed by Linux kernel creator Linus Torvalds, Git has recently taken the Web development community by storm. Git offers a much different type of version control in that it’s a distributed version control system. With a distributed version control system, there isn’t one centralized code base to pull the code from. Different branches hold different parts of the code. Other version control systems, such as SVN and CVS, use centralized version control, meaning that only one master copy of the software is used.
Which Developper does not know continuous integration?
Continuous integration (CI) is a software engineering practice in which isolated changes are immediately tested and reported on when they are added to a larger code base. The goal of CI is to provide rapid feedback so that if a defect is introduced into the code base, it can be identified and corrected as soon as possible. Continuous integration software tools can be used to automate the testing and build a document trail. Example of CI: hudson, DevOps. etc..
How tu make a Build Automation of a APEX Application with APEXExport , Hudson and GIT
- Develop your Apex APP
- Create a Job in Hudson and Choose as Build Methode "Windows Batch File".
- Add in Commando the below Code and adapt it with your Environment
Application Export ORACLE_HOME C \oracle \product \ \dbhome JAVA_HOME PATH ORACLE_HOME \bin JAVA_HOME \bin PATH APEX_UTIL_DIR ORACLE_HOME \apex \utilities CLASSPATH ORACLE_HOME \jdbc \lib \ojdbc7 jar ORACLE_HOME \apex \utilities java oracle apex APEXExport db localhost ordev user pass password pass applicationid Application Versioning cd C \Test \ hudson \jobs \My_APP \workspace init add commit a m remote add origin https admin admin @github com username My_App git push u origin master Succefully
In my Case my Job run each Day at 16:50 PM and make the Version of my Software and i have each Version of my Software for each Day in my Git Server.