{"id":16427,"date":"2021-09-21T18:06:34","date_gmt":"2021-09-21T12:36:34","guid":{"rendered":"http:\/\/ismiletechnologies.com\/?p=16427"},"modified":"2022-12-10T01:58:50","modified_gmt":"2022-12-09T20:28:50","slug":"automated-deployment-changes-of-databases-as-part-of-cicd-pipelines","status":"publish","type":"post","link":"https:\/\/ismiletechnologies.com\/en_us\/dataops\/automated-deployment-changes-of-databases-as-part-of-cicd-pipelines\/","title":{"rendered":"Automated Deployment changes of Databases as part of CICD pipelines"},"content":{"rendered":"\r\n<p class=\"wp-block-paragraph\">What is Continuous\u00a0integration and continuous\u00a0delivery\u00a0(CICD).\u00a0<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">CICD pipeline is a sequence of different steps which is\u00a0continuous,\u00a0and which creates\u00a0automation\u00a0in the software development and deployment cycle. A software goes through various stages in its life cycle.\u00a0It automates the whole software delivery process which includes building code, testing the\u00a0code (which is continuous integration) and then deploying the\u00a0code for end user. It automatically removes\u00a0the possibility of manual\u00a0error,\u00a0and it creates a continuous loop that can take feedback and make changes to the software and then deploy the new code without affecting the availability to the end user.\u00a0<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-full is-resized\"><img fetchpriority=\"high\" decoding=\"async\" class=\"wp-image-16435\" src=\"http:\/\/ismiletechnologies.com\/wp-content\/uploads\/2021\/09\/image-77.png\" alt=\"Automated Deployment changes of Databases as part of CICD pipelines\" width=\"452\" height=\"213\" srcset=\"https:\/\/ismiletechnologies.com\/wp-content\/uploads\/2021\/09\/image-77.png 612w, https:\/\/ismiletechnologies.com\/wp-content\/uploads\/2021\/09\/image-77-300x142.png 300w\" sizes=\"(max-width: 452px) 100vw, 452px\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Continuous\u00a0integration- it is a\u00a0set of\u00a0practices\u00a0for software development where all the people working on the code merge or combine their own code on a repository commonly used by everyone multiple times. Continuous integration creates an automated sequence which executes building and testing the new changes in the code and then gives\u00a0feedback to coders of any problems or if the code is working correctly.\u00a0<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" class=\"wp-image-16436\" src=\"http:\/\/ismiletechnologies.com\/wp-content\/uploads\/2021\/09\/image-78.png\" alt=\"Automated Deployment changes of Databases as part of CICD pipelines\" width=\"435\" height=\"373\" srcset=\"https:\/\/ismiletechnologies.com\/wp-content\/uploads\/2021\/09\/image-78.png 800w, https:\/\/ismiletechnologies.com\/wp-content\/uploads\/2021\/09\/image-78-300x257.png 300w, https:\/\/ismiletechnologies.com\/wp-content\/uploads\/2021\/09\/image-78-768x659.png 768w\" sizes=\"(max-width: 435px) 100vw, 435px\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Continuous Delivery- it creates an environment in the software cycle\u00a0that consists of many stages which\u00a0automates the process of software delivery. Continuous delivery automates the process of deploying or pushing changes of the code to the deployed environment without affecting\u00a0availability.\u00a0<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" class=\"wp-image-16437\" src=\"http:\/\/ismiletechnologies.com\/wp-content\/uploads\/2021\/09\/image-79.png\" alt=\"Automated Deployment changes of Databases as part of CICD pipelines\" width=\"380\" height=\"380\" srcset=\"https:\/\/ismiletechnologies.com\/wp-content\/uploads\/2021\/09\/image-79.png 800w, https:\/\/ismiletechnologies.com\/wp-content\/uploads\/2021\/09\/image-79-300x300.png 300w, https:\/\/ismiletechnologies.com\/wp-content\/uploads\/2021\/09\/image-79-150x150.png 150w, https:\/\/ismiletechnologies.com\/wp-content\/uploads\/2021\/09\/image-79-768x768.png 768w, https:\/\/ismiletechnologies.com\/wp-content\/uploads\/2021\/09\/image-79-500x500.png 500w\" sizes=\"(max-width: 380px) 100vw, 380px\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">CI and CD\u00a0both are\u00a0an integral\u00a0part of\u00a0software\u00a0development lifecycle automation.\u00a0Both\u00a0help to automate and increase the speed from starting of the project to deploying the software to removing\u00a0bugs and errors and updating it.\u00a0\u00a0<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Automating database changes as CICD\u00a0pipeline.\u00a0<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">There\u00a0are\u00a0lot\u00a0of automation procedures and practices defined to manage the software development lifecycle, but there\u00a0aren&#8217;t\u00a0many adoptions\u00a0of automation with respect to changes in databases. Every organization needs data along with software to run.\u00a0And database\u00a0changes need to be\u00a0made\u00a0in order to update\u00a0software\u00a0or add additional features to it by changing the schema of database or adding any\u00a0tables to the database.\u00a0Generally, if there is any change in the software with respect to\u00a0database\u00a0access, it takes a lot of time to do it. Because first the software team will identify and inform the database administrators about the changes\u00a0to\u00a0the database. Then the DBAs will make the changes in the database whenever they are free from their ongoing projects. This may consume any amount of time. Then DBA will inform the\u00a0developers about the changes. Then the developers will either approve the changes or give feedback for correction and again the same process continues. This is the reason\u00a0why\u00a0database\u00a0changes are tedious work.\u00a0\u00a0<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The first step to automating database changes is source control. Every change in\u00a0the database\u00a0can be represented with a\u00a0code (for\u00a0e.g.,\u00a0SQL query). This query can be stored on a git repository.\u00a0\u00a0<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">After this, it tis the time to work on continuous integration. In this step the database changes\u00a0are\u00a0automated,\u00a0and validation\u00a0of the changes takes place. We can use batches which can reduce the risk of\u00a0losing\u00a0data or by\u00a0mistakenly\u00a0altering the whole data.\u00a0<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">The last\u00a0stage is continuous delivery. In this stage, the database changes are delivered to the stored environment.\u00a0This is an essential step in database change and after every delivery, all the\u00a0softwares\u00a0connected with that database\u00a0needs\u00a0to be verified if the delivery has any\u00a0effect\u00a0on them.\u00a0\u00a0<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Generally,\u00a0companies\u00a0have parallel application CICD pipeline and a different database change pipeline. But the more effective method is to have\u00a0combine\u00a0them\u00a0both in\u00a0a specified way.\u00a0\u00a0<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-16438\" src=\"http:\/\/ismiletechnologies.com\/wp-content\/uploads\/2021\/09\/image-80.png\" alt=\"Automated Deployment changes of Databases as part of CICD pipelines\" width=\"589\" height=\"178\" srcset=\"https:\/\/ismiletechnologies.com\/wp-content\/uploads\/2021\/09\/image-80.png 844w, https:\/\/ismiletechnologies.com\/wp-content\/uploads\/2021\/09\/image-80-300x91.png 300w, https:\/\/ismiletechnologies.com\/wp-content\/uploads\/2021\/09\/image-80-768x233.png 768w\" sizes=\"(max-width: 589px) 100vw, 589px\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Software and Database both must have code stored in same repository and must have same shared CICD pipeline.\u00a0It must be synchronized and any changes in either software or the database must trigger the pipeline and do all the changes automatically. This will solve the problem of slow\u00a0database\u00a0change and the\u00a0speed of software development and deployment process will increase many folds.\u00a0<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>What is Continuous\u00a0integration and continuous\u00a0delivery\u00a0(CICD).\u00a0 CICD pipeline is a sequence of different steps which is\u00a0continuous,\u00a0and which creates\u00a0automation\u00a0in the software development and deployment cycle. A software goes through various stages in its life cycle.\u00a0It automates the whole software delivery process which includes building code, testing the\u00a0code (which is continuous integration) and then deploying the\u00a0code for end [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":16825,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[249],"tags":[],"class_list":["post-16427","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dataops"],"_links":{"self":[{"href":"https:\/\/ismiletechnologies.com\/en_us\/wp-json\/wp\/v2\/posts\/16427","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ismiletechnologies.com\/en_us\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ismiletechnologies.com\/en_us\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ismiletechnologies.com\/en_us\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/ismiletechnologies.com\/en_us\/wp-json\/wp\/v2\/comments?post=16427"}],"version-history":[{"count":3,"href":"https:\/\/ismiletechnologies.com\/en_us\/wp-json\/wp\/v2\/posts\/16427\/revisions"}],"predecessor-version":[{"id":36167,"href":"https:\/\/ismiletechnologies.com\/en_us\/wp-json\/wp\/v2\/posts\/16427\/revisions\/36167"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ismiletechnologies.com\/en_us\/wp-json\/wp\/v2\/media\/16825"}],"wp:attachment":[{"href":"https:\/\/ismiletechnologies.com\/en_us\/wp-json\/wp\/v2\/media?parent=16427"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ismiletechnologies.com\/en_us\/wp-json\/wp\/v2\/categories?post=16427"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ismiletechnologies.com\/en_us\/wp-json\/wp\/v2\/tags?post=16427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}