But how do you make sure that your actual database is in synch with the changes that you make in your scripts?
This is another place where DevCS can come to the rescue with the built-in continuous integration functionality it provides. Specifically with the new features for database integration including secure DB connection specification, and leveraging the powerful SQL Command Line (SQLcl) - the new command line interface to the Oracle DB - which is built-in in the DevCS build servers.
In the video below I go through a process where a check-in of SQL script code change automatically initiate a build process that modifies a running database.
A few points to note:
For the sake of simplicity, the demo doesn't follow the recommended step of a code review before merging changes into the master branch (you can see how to do that here).
The demo automates running the build whenever a change to the scripts is done. You could also define a scenario where the build runs at a specific time every day - for example at 1am - and synch the DB to today's scripts.
You can further extend the scenario shown here of dropping and re-creating objects to add steps to populate the DB with new data and even run tests on the new database.
As you can see Developer Cloud Service can be a very powerful engine for your database DevOps - and it is included for free with your Oracle Database Cloud Services - so give it a try.
Are you coding SQL and PL/SQL code? Need to manage versions & branches? Want to track your to-do tasks? Need to conduct code reviews and peer programming?
Developer Cloud Service can help you!
And now it comes free with your Oracle Database Cloud Service trial or license - check your service dashboard to see if you got one. Note that even if your database is not in the cloud, but rather on-premises, you can use the same process shown in the video below.
In the demo you'll learn how to:
Provision a new cloud project for your team
Check SQL scripts into the Git Repository in DevCS
Track tasks and to-do items
Branch your SQL script code
Conduct code review with members of your team
Merge branches of code
Check it out:
I blogged about this topic in the past using JDeveloper, but figured out that most of the Oracle database developers actually use SQL Developer - so I thought it would be good to give them a quick 10 minute demo of what they can do by combining the power of SQL Developer and Developer Cloud Service. (The video can also be useful to just get a basic understanding of how SQLDeveloper works with any Git repo).
We have a lot of developers who are using JDeveloper to develop applications with Oracle SOA Suite, and in this blog I wanted to show them how the combination of JDeveloper along with Oracle Developer Cloud Service can help automate their whole development and delivery lifecycle.
One unique aspect of Developer Cloud Service is that it has an instance of JDeveloper available in the build environment. This allows customers who are building Oracle SOA artifacts to leverage the OJDeploy mechanism to package their applications as part of a continuous integration cycle just like they do during development time.
With the improved DevCS integration that we added in JDeveloper 12.2.1, developers can go beyond integration with the Git server offered by DevCS and can now interact with the DevCS task tracking system directly as well as associate code changes to specific tasks they are working on.
In this 10 minutes video I show:
Creating Ant based builds for Oracle SOA artifacts
Automating Continuous Integration build and packaging for Oracle SOA from Developer Cloud Service
Managing SOA project code with Git and Developer Cloud Service
Tracking tasks from JDeveloper and monitor agile development in Developer Cloud Service
[Update Feb 2017 - new SQLcl functionality in Developer Cloud Service makes the "deployment" step even simpler - see this blog entry.]
About a year ago I posted a demo showing how to manage the full development lifecycle of your database code with the help of Developer Cloud Service. Since then we released new versions of both Developer Cloud Service and JDeveloper that make the experience even smoother and add more features - so I figured I'll record a small updated demo.
In this demo I'm starting from an existing project that has a list of tasks being tracked in a development sprint in the new Agile tab in Developer Cloud Service - which gives you a great view of your development effort and progress.
(If you want to see how you create the initial project and add issues to it check out the previous demo).
A few new things you'll see in this demo:
The new Agile/Sprint management dashboard in Developer Cloud Service
Task tracking integration in JDeveloper
Updating definition of database objects in JDeveloper and generating SQL scripts
Branching Git repositories
Code review for SQL files
Build automation for DB changes with Ant - including deployment to a cloud database
Since I wrote those blog entries, we released a new version of JDeveloper (12.2.1) that added deeper integration with the Developer Cloud Service functionality for tracking tasks/issues. In parallel Developer Cloud Service also added various features with one of the new areas being covered is managing sprints and an agile development processes.
I thought it might be interesting to show some of the new features of both products working togethers.
In the video below you'll see how to:
Connect to DevCS and its projects from inside JDeveloper
Leverage the Team view in JDeveloper (tasks, builds, and code repositories)
Interact with Tasks/Issues in JDeveloper
Handle Git transactions
Associate code commits with specific tasks
Monitor team activity in the Team Dashboard
Create Agile boards and manage sprints in Developer Cloud Service
One other interesting feature I'm not showing above is the ability to do code reviews on your code by team members - before those are merged into your main code line.
If you want to try Developer Cloud Service out, just get a trial account of the Oracle Java Cloud Service - and you'll get an instance of the Developer Cloud Service that you can use to test this new way of working.