Trong bài viết này, tôi sẽ giải thích cách thiết lập đường dẫn CI/CD vào GitLab bằng cách sử dụng nút ngôn ngữ lập trình JS. Trước khi tiếp tục, vui lòng đọc các điều kiện tiên quyết
điều kiện tiên quyếtĐối với hướng dẫn này, tôi giả sử rằng bạn có những điều sau đây
Node ổn định mới nhất Node. js được cài đặt để phát triển.
A git được cài đặt để đẩy và kéo vào GitLab.
A GitLab có sẵn runner có thể . docker commands.
A Đăng ký Docker để đẩy và kéo các vùng chứa đến và từ docker. Hãy nhớ rằng bạn có thể cần cấu hình docker của riêng mình để chạy sổ đăng ký.
Bước đầu tiên là tạo một ứng dụng bằng Node. js. Ngoài ra, máy chủ cũng đang sử dụng Express — để tạo API REST. Ở đây, yêu cầu HTTP chỉ cần trả về, "Này, bạn thế nào?"
ứng dụng cài đặt
Đầu tiên, thiết lập thư mục và tạo một tệp JS trong đó. Chạy các lệnh sau
> mkdir firstApp
____1> touch index.js
Bây giờ, đối với nút JS, chúng tôi sử dụng trình quản lý gói như npm . Vì vậy, trước khi sử dụng, chúng ta cần tạo một gói. json bằng cách chạy một lệnh.
> npm init -y
Ở đây, nếu bạn không bao gồm -y, thì bạn sẽ cần thực hiện từng bước theo cách thủ công. Bây giờ, bạn có thể đưa bất kỳ phụ thuộc nào vào dự án như Express
> npm install --save express
Sau khi chạy lệnh này, bạn sẽ có thể thấy thêm một thư mục bên trong FirstApp tên là node_modules. Ngoài ra, khóa gói. json cũng sẽ được tạo. Node_modules là nơi tất cả các phụ thuộc của dự án sẽ được lưu trữ cục bộ.
Tạo API
Bây giờ, phần chính là tạo một API sẽ trả về một số đầu ra khi nó được gọi. Tôi đã tham khảo ví dụ về tài liệu nhanh và sửa đổi một chút. Mở tệp có tên là chỉ mục. js và viết mã đã cho.
const express = require['express'] // Import express npm
const app = express[] // instantiate an express app
const port = 3000 // Specify
the port on which the HTTP call will listen
app.get['/', [req, res, next] => res.send[{status: 200, data: 'Hey, how are you?'}]] // Define a route
app.listen[port, [] => console.log[`Example app listening on port ${port}`]]
Bây giờ bước cuối cùng là chạy ứng dụng. Bấm vào lệnh đã cho
> cd firstApp
0Bây giờ, nếu bạn nhấn localhost. 3000/ trong trình duyệt của bạn hoặc gọi GET API bằng cách sử dụng người đưa thư, bạn sẽ thấy nó trả về {status. 200, dữ liệu. 'Này, bạn khỏe không?'}, có nghĩa là ứng dụng của bạn đang chạy tốt.
Docker rất hữu ích để làm cho sản phẩm của bạn hoạt động trong môi trường sản xuất. Ở bước đầu tiên, bạn đã thấy ứng dụng của mình đang chạy tìm trong máy cục bộ của bạn. Bộ chứa docker sẽ chuyển ứng dụng của bạn sang sản xuất.
Ứng dụng trên có thể được chứa bằng Docker. Đối với điều này, giống như NPM, bạn cần thêm một tệp cấu hình [còn gọi là Dockerfile] để chỉ định cấu hình vùng chứa. Vì vậy, trong phần này, tôi làm theo hướng dẫn của NodeJS để cập nhật ứng dụng.
thích gói. json quản lý các phụ thuộc của NPM, ở đây chúng ta cần tạo một file docker giúp tạo image docker container. Để tạo image của node app, trước tiên chúng ta cần tạo một file có tên Dockerfile trong thư mục gốc của app và viết lệnh đã cho
> cd firstApp
1> cd firstApp
2> cd firstApp
3> cd firstApp
4> cd firstApp
5> cd firstApp
6> cd firstApp
7> cd firstApp
8> cd firstApp
9> touch index.js
0> touch index.js
1> touch index.js
2Ở đây, chúng ta cần quan tâm đến node_modules vì mỗi khi tệp docker thực thi, nó sẽ sao chép tất cả các mô-đun. Vì vậy, để ngăn chặn điều đó, hãy tạo . dockerignore trong thư mục gốc và viết chỉ.
> touch index.js
3Vì vậy, bây giờ nó sẽ bỏ qua node_modules
Cấu hình GitLabBây giờ ứng dụng của bạn đang chạy với Docker. Bước cuối cùng, bạn cần cấu hình GitLab để chạy một đường dẫn trên GitLab. Đối với điều đó, bạn cần tạo một tệp có tên. gitlab-ci. yml. Nó sẽ chứa tất cả các cấu hình liên quan đến triển khai. Ở đây mình chọn server triển khai là AWS EC2 . Tạo một tệp và viết mã như đã cho.
> touch index.js
4> touch index.js
5> touch index.js
6> touch index.js
7> touch index.js
8> touch index.js
9> npm init -y
0> npm init -y
1> npm init -y
2> npm init -y
3> npm init -y
4> npm init -y
5> npm init -y
6> npm init -y
7> npm init -y
8> npm init -y
9> npm install --save express
0> npm install --save express
1> npm install --save express
2> npm install --save express
3> npm install --save express
4> npm install --save express
5> npm install --save express
6> npm install --save express
7> npm install --save express
8> npm install --save express
9const express = require['express'] // Import express npm
0const express = require['express'] // Import express npm
1const express = require['express'] // Import express npm
2const express = require['express'] // Import express npm
3> npm install --save express
2const express = require['express'] // Import express npm
5> npm install --save express
4const express = require['express'] // Import express npm
7const express = require['express'] // Import express npm
8const express = require['express'] // Import express npm
9const app = express[] // instantiate an express app
0const app = express[] // instantiate an express app
1const app = express[] // instantiate an express app
2const app = express[] // instantiate an express app
3const app = express[] // instantiate an express app
4const app = express[] // instantiate an express app
5const app = express[] // instantiate an express app
6> npm install --save express
7> npm install --save express
8Đẩy mã của bạn vào GitLab
Bây giờ mọi thứ đã sẵn sàng để xây dựng và triển khai trên máy chủ. Bạn chỉ cần đẩy mã của mình vào tài khoản GitLab tương ứng bằng các lệnh đã cho.
const app = express[] // instantiate an express app
9const port = 3000 // Specify
the port on which the HTTP call will listen
0const port = 3000 // Specify
the port on which the HTTP call will listen
1const port = 3000 // Specify
the port on which the HTTP call will listen
2const port = 3000 // Specify
the port on which the HTTP call will listen
3Ngoài ra, bạn có thể lưu trữ dữ liệu riêng tư của mình như khóa SSH máy chủ, tên người dùng và mật khẩu docker vào GitLab để sử dụng trong tương lai. Trong repo GitLab của bạn, hãy chuyển đến cài đặt> CI/CD [ở thanh bên trái]. Bạn sẽ có thể xem phần biến môi trường
Sử dụng điều này, bạn có thể thêm nhiều biến trong cùng một repo. Bạn có thể sử dụng các biến này trong. gitlab-ci. tập tin yml như
const port = 3000 // Specify
the port on which the HTTP call will listen
4const port = 3000 // Specify
the port on which the HTTP call will listen
5Khi bạn đẩy mã của mình, giai đoạn đầu tiên trong hai giai đoạn, tôi. bản dựng điện tử, sẽ thực thi. Nó sẽ xây dựng tệp docker bằng Dockerfile. Một điều bạn cũng nên biết là, trong gitlab-ci. yml, chúng tôi chỉ định chi nhánh sản xuất như thế này
const port = 3000 // Specify
the port on which the HTTP call will listen
6const port = 3000 // Specify
the port on which the HTTP call will listen
7Điều này có nghĩa là nó sẽ chỉ tạo trình kích hoạt nếu bạn đẩy các thay đổi của mình sang nhánh sản xuất. Sau khi xây dựng, bước tiếp theo, tôi. e. deployToAWS, sẽ được thực thi. Cuối cùng, nó sẽ triển khai mã của bạn đến máy chủ [ở đây, EC2] và bạn sẽ thấy dấu hiệu 'đã qua' màu xanh lục trong cột đầu tiên.
Quá trình tổng thể của bạn đã hoàn tất tại đây. Từ giờ trở đi, bạn sẽ chỉ cần đẩy các thay đổi mới nhất tới các nhánh tương ứng của chúng và sau khi nhận được các thay đổi, quy trình sẽ tự động bắt đầu.