Ncmh devOps Automation cd/cd deployment Process Manual Deployment Process



Download 0.58 Mb.
Date26.08.2022
Size0.58 Mb.
#59383
NCMH Setup and Deploy Procedures

NCMH DevOps Automation CD/CD Deployment Process

Manual Deployment Process
Back 2020 and earlier NCMH deployment process is manually. They need to build the requirements needed to deploy the application to the environment and install the following packages to be able to run the applications. Configure the server manually and also the application inside the servers. It took long time to build the environment depend on the requirements needed and troubleshooting together with HOMIS – Infra and Dev Team. Any additional deployment gone through via manual process including the configuration, deployment, monitoring and approval of the deployment.
Automated Deployment Process
Last year 2021, NCMH just start to adopt the DIGITAL Transformation widely use in the market now. As the company growth up the management decided to adopt the automation process deployment internally in the company. HOMIS – Infra and Dev Team build the automation deployment to be able to reach the fast deployment without any manual/human trigger aside from the build/provisioning of the VM Server. As the team continue to build that kind of environment, they already build the useful open-source tool such as (Jenkins, Gitlab, Grafana, Prometheus, Docker and etc.) for the to use for the Continues Integration and Continues Delivery and Integration to the 3rd Party tool such as (Slack and JIRA). Today still continue and focus on the tool that might be useful for the enhancement and much better way of automation.

Scope of the automation:


Docker
It is use for orchestrating and handle the lightweight deployment. Build the image in one single shot of deployment including the package required by the application
Gitlab
It is a tool to use for repository code management such as BRANCHING, VERSION CONTROL, Integration, deployment, access management and etc.

DevOps Design Architecture









Deployment Procedures:

  • Using GIT developers will push the updated code to the target repository

  • From GitLab repository the code pushed by the developer from the staging branch and merge to master branch

  • Gitlab integrated to Jenkins using the Webhook URL of the Jenkins with token authentication

  • From the Jenkins Deployment Tool once there’s new/updates from the source code it deploys automatically

From Jenkins Stages:

  • Git Clone the NCMH Branch (Staging/Master)

  • Modify the .env file then copy to remote/target server together with the file from GitLab to /home/ncmhadmin/ncmh-staging/ directory

  • Login to Docker Private Repository

  • Build the latest image using Dockerfile

  • Tag/Push the image to the private repository

  • Remove the existing Docker Application running

  • Unmount upload mount point to remote server

  • Deploy new image to remote server and mount again upload mount point to the remote server

  • Logout Docker Private Registry

Jenkins

  • On the first stage it will notify the channel from slack (ncmh-jobsnotification and ncmh-infra) for every job running

  • It will notify the channer again when the jobs are successful

Download 0.58 Mb.

Share with your friends:




The database is protected by copyright ©ininet.org 2022
send message

    Main page