Introduction
1 Purpose of the Document
This guide explains the process for developers to get a new application integrated into the CI/CD pipeline and how to deploy it to various environments.
2 The Core Workflow:
Onboarding is a collaborative process:
- The Developer prepares the application and requests a new pipeline.
- The DevOps Team builds the necessary infrastructure: Dockerfile, Jenkinsfile, task-definition.json, AWS resources, and the Jenkins job itself.
- The Developer triggers all deployments manually through the Jenkins UI.
Step 1: Developer Preparation
This is what you need to do before requesting your pipeline.
1 Prepare Your Source Code:
- Ensure your application code is in a GitHub repository under the Memorres organization.
2 Define All Required Configuration:
- Create a definitive list of all environment variables and secrets your application needs to run.
- The DevOps team will use this list to create the infrastructure/task-definition-<environment_name>.json file for your service.
Step 2: Requesting the CI/CD Pipeline
All new pipeline requests are made through a direct, manual process by contacting the DevOps team.
1 How to Make the Request:
- The standard method is to post a structured request in the company’s designated Slack channel (e.g., #devops-support) or via email. Please confirm the correct channel or mailing list with your team lead.
2 What to Include in Your Request:
- To ensure a fast and accurate setup, your manual request must contain all the necessary information. Please use the template below to structure your request.
3 Pipeline Request Template:
- Copy and paste this template into your message or email, filling in your service’s details.
**New CI/CD Pipeline Request**
* **Service Name:** `[Your Application Name]`
* **GitHub Repo URL:** `[Link to your GitHub repository]`
* **JIRA Ticket (for context):** `[Link to the primary JIRA ticket for this service]`
* **Language/Framework:** `[e.g., Node.js v20, Java 17 with Spring Boot]`
* **Build Command:** `[e.g., npm run build]`
* **Startup Command:** `[e.g., npm start]`
**Configuration Details:**
* **Environment Variables:**
– `VAR_NAME_1=value1`
– `VAR_NAME_2=value2`
* **Secrets Required (values will be shared securely):**
– `SECRET_NAME_1`
– `SECRET_NAME_2`
Step 3: How to Deploy Your Service
All deployments are initiated manually from the Jenkins UI. This gives you full control over when a new version is released.
1 How to trigger a deployment
- Log in to the Jenkins server with your provided credentials.
- Navigate to your service’s pipeline job. Your access is role-based, so you will only see the projects you are assigned to.
- Select the branch you wish to deploy (e.g., main, develop, hotfix/urgent-fix).
- Click “Build Now” to start the pipeline. The pipeline will build the code from the latest commit on that branch and deploy it to the corresponding environment.
Verification and Troubleshooting
The CI/CD process ensures that code changes are integrated, tested, and deployed consistently and reliably. The process is broken down into the following stages:
1 Verifying Deployment
- Check the application URL and review logs in CloudWatch to confirm a successful deployment.
2 Troubleshooting
- Application Errors (e.g., failed tests): Fix the code, push to your branch, and run the Jenkins job again.
- Pipeline Errors (e.g., Docker build fails): Contact the DevOps team in the #devops-support Slack channel with a link to the failed Jenkins build.