Preloader
Skip to content
Triển khai CI/CD cho ứng dụng với Container Registry và Cloud Server

Triển khai CI/CD cho ứng dụng với Container Registry và Cloud Server

CI/CD không còn là khái niệm mới, việc sử dụng CI/CD sẽ tiết kiệm rất nhiều thời gian cũng như việc deploy lặp đi lặp mỗi lần commit code. Và hiện tại thì cũng có nhiều công cụ hỗ trợ việc triển khai CI/CD như gitlab, jenskin, Cirle CI...

1. Giới thiệu

Mình sử dụng Gitlab-Ci vì Gitlab là hệ thống self-hosted mã nguồn mở gần gũi với nhiều người, khả năng hỗ trợ Ci của gitlab cũng khá đa dạng và dễ dàng sử dụng.

Bài này mình sẽ giới thiệu về việc sử dụng:

- Hướng dẫn sử dụng Container Registry.

- Set up CI tên gitlab để auto deploy lên server của PhoTue-cloud

 

2. Sử dụng Pho Tue Container Registry

Trên trang quản trị bạn chọn tạo mới rồi tiến hành đặt tên cho Repo.

Triển khai CI/CD cho ứng dụng với Bizfly Container Registry và Bizfly Cloud Server - Ảnh 2.

 

Có 2 cách để login registry docker Pho Tue:

- Sử dụng username và password tài khoản trên https://manage.Pho Tuecloud.vn/: 

docker login -u tuda@vccloud.vn -p ******** cr-hn-1.vccloud.vn

- Sử dụng token:

Thay vì sử dụng tài khoản và mật khẩu, bạn có thể sử dụng token để linh hoạt hoá thao tác xác thực và phân quyền. Bạn có thể đặt thời gian hết hạn cho token, gán quyền cụ thể cho token có thể thể truy cập tới một hoặc một số repository nhất định.

Chọn thẻ Sử dụng token, tạo token như hình dưới :

Triển khai CI/CD cho ứng dụng với Bizfly Container Registry và Bizfly Cloud Server - Ảnh 4.

 

Trên client thực hiện command sau:     

docker login -u Pho Tue -p {token} cr-hn-1.vccloud.vn

  (nếu sử dụng token thì username sẽ là Pho Tue)

 

Push Images:

 

- Mỗi repository sẽ có một URI tương ứng, bạn có thể sao chép URI này bằng cách nhấn vào biểu tượng như hình bên dưới.

 

Triển khai CI/CD cho ứng dụng với Bizfly Container Registry và Bizfly Cloud Server - Ảnh 6.

 

Sau đó thực hiện tag image với URI và push image

 

Triển khai CI/CD cho ứng dụng với Bizfly Container Registry và Bizfly Cloud Server - Ảnh 7.

 

Pull Images:

- Tương tự với push images, pull images với URI của images.

Triển khai CI/CD cho ứng dụng với Bizfly Container Registry và Bizfly Cloud Server - Ảnh 8.

 

3. Set-up gitlab-ci auto deploy to Pho Tue Software Solutions Server

- Trước khi thực hiện theo hướng dẫn bên dưới, bạn có cần cài đặt 1 gitlab-runner (mình làm theo hướng dẫn này).

- Register một gitlab runner theo Project:

Triển khai CI/CD cho ứng dụng với Bizfly Container Registry và Bizfly Cloud Server - Ảnh 9.

 

( Ở đây mình đăng kí 1 runner dùng docker, các bạn có thể đăng kí gitlab-runner với nhiều tùy chọn hơn tại đây  )

- Xong phần set up tạo môi trường runner, giờ thì tiến hành viết gitlab-ci.yaml nào !!!!

- Ở trong ví dụ này, mình cấu trúc vòng ci gồm 3 stage: test, build , deploy.

stages:

- test

- build

- deploy

variables:

REGISTRY: cr-hn-1.vccloud.vn

HUB_USERNAME: tuda@vccloud.vn

PROJECT_NAME: tuda-test

HUB_NAMESPACE: cr-hn-1.vccloud.vn/3683a522cf3c4afcbaf2eee2834ec080/tuda

before_script:

- export CI_APPLICATION_TAG=$(echo $CI_COMMIT_SHA | cut -c 32-40)

test_tuda_test:

stage: test

script:

- echo "pass"

tags:

- dockerm1

build_tuda_test:

stage: build

script:

- docker build -t $HUB_NAMESPACE/$CI_PROJECT_NAME-$CI_COMMIT_REF_NAME:d$CI_APPLICATION_TAG .

- echo ${HUB_USERNAME} ${HUB_PASSWORD} $REGISTRY

- docker login -u ${HUB_USERNAME} -p ${HUB_PASSWORD} $REGISTRY

- docker push $HUB_NAMESPACE/$CI_PROJECT_NAME-$CI_COMMIT_REF_NAME:d$CI_APPLICATION_TAG

- docker logout $REGISTRY

tags:

- dockerm1

deploy_tuda_test:

stage: deploy

image: ubuntu:18.04

script:

- apt update -y && apt install sshpass -y

- chmod -x ./deploy.sh

- export LC_ALL=C.UTF-8

- export LANG=C.UTF-8

- sh ./deploy.sh $HUB_NAMESPACE $CI_PROJECT_NAME $CI_COMMIT_REF_NAME $CI_APPLICATION_TAG $SSH_PASSWORD $HUB_PASSWORD

tags:

- dockerm1

- Stage test có nhiệm vụ kiểm tra kết nối đến runner ( chỉ đơn giản là dòng scirpt echo "pass"
 

  • - Stage build sẽ build image, tags, push mỗi khi có commit code
  • - Stage deploy auto deploy (docker run) lên server cloud ( cụ thể mình dùng server tạo trên Pho Tue Software Solutions)
  • Đối với deploy lên một vm (server) thì có nhiều cách , ở đây mình dùng shell script để ssh và deploy trên server. ( Ngoài ra thì có thể dùng ansible hay 1 số tool ssh khác ).
Triển khai CI/CD cho ứng dụng với Bizfly Container Registry và Bizfly Cloud Server - Ảnh 11.

 

  • Mình viết một đoạn bash script như trên sử dụng sshpass để deploy

 

Triển khai CI/CD cho ứng dụng với Bizfly Container Registry và Bizfly Cloud Server - Ảnh 12.

 

Shell Script chỉ là cách đơn giản dễ dàng để cho các bạn viết ci nhanh chóng, nếu trong quá trình làm có lỗi hoặc chưa hiểu, hoặc muốn giải các bài toán phức tạp hơn, deploy lên các môi trường khác như k8s, aws.... liên hệ với Pho Tue Software Solutions qua các kênh hỗ trợ để được giải đáp nhé!

Chia sẻ:
Trương Công Thành
Tác giả

Trương Công Thành

Pho Tue SoftWare Solutions JSC là Nhà Cung cấp dịch Trung Tâm Dữ Liệu, Điện Toán Đám Mây Và Phát Triển Phần Mềm Hàng Đầu Việt Nam. Hệ Thống Data Center Đáp Ứng Mọi Nhu Cầu Với Kết Nối Internet Nhanh, Băng Thông Lớn, Uptime Lên Đến 99,99% Theo Tiêu Chuẩn TIER III-TIA 942.

Để lại bình luận

Địa chỉ email của bạn sẽ không được công khai. Các trường bắt buộc được đánh dấu *

Hơn 85.000 khách hàng trong nước và quốc tế tin dùng

Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng
Logo khách hàng

Đối tác công nghệ đồng hành cùng phát triển

Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác
Logo đối tác

Nguồn lực hỗ trợ doanh nghiệp kiến tạo hạ tầng số

Hỗ trợ kỹ thuật

Bắt đầu triển khai cùng đội ngũ chuyên trách của Pho Tue Software.

Thông tin mới nhất

Thông báo dịch vụ, phân tích chuyên sâu và hoạt động của hệ sinh thái.

Chứng chỉ và tiêu chuẩn bảo mật quốc tế

Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn
Chứng chỉ và tiêu chuẩn

Thành viên của các tổ chức quản lý tài nguyên Internet khu vực và quốc gia

Tổ chức quản lý tài nguyên Internet
Tổ chức quản lý tài nguyên Internet
Tổ chức quản lý tài nguyên Internet
Tổ chức quản lý tài nguyên Internet
Tổ chức quản lý tài nguyên Internet
Tổ chức quản lý tài nguyên Internet
Tổ chức quản lý tài nguyên Internet
Tổ chức quản lý tài nguyên Internet
Tổ chức quản lý tài nguyên Internet
Tổ chức quản lý tài nguyên Internet
Tổ chức quản lý tài nguyên Internet
Trải nghiệm của bạn trên trang này sẽ được cải thiện bằng cách cho phép cookie. Chính sách bảo vệ dữ liệu cá nhân