Posts

Showing posts with the label docker

All Practice Series

Image
Introduction This is a comprehensive page about the technologies I have shared in series format. You can view brief introductions and links to directly access each series you are interested in. In the field of software development, to deploy a product from the initial idea to its release, the standard process typically involves several stages as follows: Database : Designing and implementing the database according to business requirements, storing data during the system's operation. Backend : Handling the main logic of the system, communicating with the database and services. Frontend : Building the interface for users to interact with the system, which could be a desktop, mobile, or web application. This usually includes implementing UI/UX and integrating APIs from the backend. DevOps : Deploying the system for use, which can be done on a server or in the cloud. Testing : Applying testing methods to ensure the product meets the standards for release. Of course, these are just stan...

Instructions for installing MinIO with Docker

Image
Introduction MinIO is a high-performance, open-source Object Storage system that is fully compatible with the Amazon S3 API. Key advantages include ultra-fast data processing speeds, a lightweight cloud-native architecture, easy scalability, and high security with advanced data encryption capabilities. Detail First, create a docker-compose.yml file with the following content, changing the YOUR_ACCESS_KEY and YOUR_SECRET_KEY values to suit your needs: services : minio : image : quay.io/minio/minio:latest container_name : minio-dev ports : - "9000:9000" - "9001:9001" environment : MINIO_ROOT_USER : YOUR_ACCESS_KEY MINIO_ROOT_PASSWORD : YOUR_SECRET_KEY volumes : - minio_data:/data command : server /data --console-address ":9001" volumes : minio_data : Run the docker container as follows: docker-compose up -d If you want to use an interface for easier management, you need to install the MinIO Client (...

Guide to Setting Up CI/CD for NextJS with Jenkins, Gitlab, and AWS ECS

Image
Introduction In the previous article, I provided instructions on setting up CI/CD with Jenkins and Gitlab to deploy a NestJS project to AWS EKS. Now, I will provide similar guidance for deploying a project using the NextJS framework to AWS ECS, triggering an auto build on Jenkins when pushing code to Gitlab, and running tests for the project before deployment. A summary of the steps involved will be as follows: Build the Docker image for the NextJS project and push it to AWS ECR. Deploy that Docker image to AWS ECS. Set up Jenkins to connect with Gitlab. When code is pushed to Gitlab, Jenkins will trigger an auto build of the steps defined in the Jenkinsfile, including: Pulling the new code from Gitlab. Running tests for the project. If the test fails, stop the deployment process. If the test passes, proceed to the next step. Building the Docker image with the new code and pushing it to AWS ECR. Deploying to AWS ECS by restarting the service, which will use the latest Docker image to d...

Guide to deploying NextJS on AWS ECS

Image
Introduction I already have an article guiding the deployment of a project using the NestJS framework on AWS ECS, while in this article we will go through how to deploy a frontend project using the NextJS framework also deploying on AWS ECS, the difference is mostly concentrated in building the docker image, as long as you can build the docker image and push successfully to AWS ECR, the next steps are almost identical Prerequisites Because there was a previous article providing quite comprehensive guidance on AWS ECS, in this article I might not instruct in detail about it much more, if there is any information that is not clear you can review previous articles to understand better The goal of the article is to concentrate on the deployment so I will not dive deep into coding NextJS but will reuse from previous articles, you can also use a similar project according to your own needs Detail First of all, let's update the next.config.ts file to support standalone mode import type {...

Setting up a CI/CD Pipeline for NestJS with Jenkins, Gitlab, and AWS EKS

Image
Introduction Jenkins is a leading open-source automation tool that enables Continuous Integration (CI) and Continuous Delivery (CD). With its vast plugin ecosystem, Jenkins helps automate every stage from build and test to deploy, reducing manual errors and increasing software development speed. Gitlab is not only a Git-based source code repository but also provides a comprehensive DevOps platform. Gitlab's key advantages are tight repository management, built-in Webhooks to trigger external pipelines, and powerful project management and code review features that help teams collaborate effectively. In this article, I will guide you through setting up Jenkins to automatically pull source code from Gitlab and deploy to AWS EKS. The summary of the steps will be as follows: Build a source docker image from the NestJS source code and push it to AWS ECR Create an EKS Cluster and deploy with that docker image Setup configuration for Jenkins Add a Jenkinsfile to the NestJS project and push...