Open github-learning-lab[bot] opened 3 years ago
Chào mừng
Trong kho này, chúng ta sẽ đi sâu vào thế giới Tích hợp liên tục. Tích hợp liên tục , hay CI , có thể mang lại lợi ích cho các dự án của bạn và thay đổi cách bạn làm việc trên GitHub. Nếu bạn chưa quen với Tích hợp liên tục, bạn có thể nghĩ, "Chính xác thì nó là gì, và tôi có cần nó trong dự án của mình không?"
CI là gì? Tại sao bạn cần quan tâm?
CI có thể giúp bạn tuân thủ các tiêu chuẩn chất lượng của nhóm bằng cách chạy các bài kiểm tra và báo cáo kết quả trên GitHub. Các công cụ CI chạy các bản dựng và thử nghiệm, được kích hoạt bởi các cam kết. Kết quả được đăng lại GitHub trong yêu cầu kéo. Điều này làm giảm chuyển đổi ngữ cảnh cho các nhà phát triển và cải thiện tính nhất quán cho quá trình thử nghiệm. Mục tiêu là ít lỗi hơn trong quá trình sản xuất và phản hồi nhanh hơn trong khi phát triển.
Các lựa chọn xung quanh CI sẽ hoạt động tốt nhất cho dự án của bạn phụ thuộc vào nhiều yếu tố, bao gồm:
- Ngôn ngữ lập trình và kiến trúc ứng dụng
- Hệ điều hành và các trình duyệt bạn định hỗ trợ
- Kinh nghiệm và kỹ năng của nhóm bạn
- Khả năng mở rộng quy mô và kế hoạch phát triển
- Sự phân bố theo địa lý của các hệ thống phụ thuộc và những người sử dụng chúng
- Mục tiêu đóng gói và giao hàng
Sử dụng CI và Phòng thí nghiệm Học tập
In other courses, you may have noticed that some actions take me longer to respond to than others. In this course, many of the actions will be related to builds. Those builds sometimes take longer to build, up to several minutes. Don't be concerned if I take a few minutes to respond, or if I respond too quickly. Sometimes, I'll let you know what the build will say before it finishes! Please wait for the builds to finish before moving on to your next step.
If you aren't already familiar, it may be a good idea to go through the Introduction to GitHub Learning Lab.
Step 1: Use a templated workflow
There's a bug somewhere in this repository. We'll use the practice of Continuous Integration (CI) to set up some automated testing to make it easier to discover, diagnose, and minimize scenarios like this.
Let's first introduce CI to this repository. The codebase is written with Node.js. GitHub Actions allows us to use some templated workflows for common languages and frameworks, like Node.js! Let's add it:
⌨️ Activity: Create a pull request with a templated workflow
- Go to the Actions tab.
- Choose the template Node.js workflow.
- Commit the workflow to a new branch.
- Create a pull request titled CI for Node.
I'll respond in the new pull request when I detect it has been created.
If at any point you're expecting a response and don't see one, refresh the page.
Welcome
In this repository, we'll be diving into the world of Continuous Integration. Continuous Integration, or CI, can benefit your projects and change how you work on GitHub. If you're new to Continuous Integration, you may be thinking, "What exactly is it, and do I need it in my project?"
What is CI? Why should you care?
CI can help you stick to your team’s quality standards by running tests and reporting the results on GitHub. CI tools run builds and tests, triggered by commits. The results post back to GitHub in the pull request. This reduces context switching for developers, and improves consistency for testing. The goal is fewer bugs in production and faster feedback while developing.
Choices around CI that will work best for your project depend on many factors, including:
Using CI and Learning Lab
In other courses, you may have noticed that some actions take me longer to respond to than others. In this course, many of the actions will be related to builds. Those builds sometimes take longer to build, up to several minutes. Don't be concerned if I take a few minutes to respond, or if I respond too quickly. Sometimes, I'll let you know what the build will say before it finishes! Please wait for the builds to finish before moving on to your next step.
If you aren't already familiar, it may be a good idea to go through the Introduction to GitHub Learning Lab.
Step 1: Use a templated workflow
There's a bug somewhere in this repository. We'll use the practice of Continuous Integration (CI) to set up some automated testing to make it easier to discover, diagnose, and minimize scenarios like this.
Let's first introduce CI to this repository. The codebase is written with Node.js. GitHub Actions allows us to use some templated workflows for common languages and frameworks, like Node.js! Let's add it:
:keyboard: Activity: Create a pull request with a templated workflow
I'll respond in the new pull request when I detect it has been created.
If at any point you're expecting a response and don't see one, refresh the page.