GitHub Actions là gì?

18/02/2022

Như ta đã biết github là nơi chứa source code nổi tiếng thế giới hiện nay, ngoài github còn có gitlab, bitbucket, codecommit, ...

GitHub Actionslà gì?

Cơ bản github miễn phí cho người dùng developer, nếu nhu cầu sử dụng nhiều repo cũng như project có nhiều thanh viên developer tham gia thì bạn có thể mua bản nâng cao. 

Về tiến trình CI/CD process, chúng ta có thể biết tới như Jenkins, Team City, Codepipeline trên AWS, ... 

GitHub Actions mới ra đời gần đây, ngày 13 tháng 11 năm 2019, GitHub Actions ra phiên bản đầu tiên, trước đó khoảng 1 năm bản beta ra đời. 

GitHub Actions khá đơn giản, khi tiến trình build, test và deploy được viết trong một file có định dạng yaml nằm trong thư mục .github/workflows/ trong chính source code của bạn. 

GitHub Actions là một event-driven nghĩa là chương trình chạy một loạt các dòng lệnh khi bạn nhận được 1 event, ví dụ mỗi lần một developer nào đó tạo một pull request cho một repository nào đó thì dòng lệnh build được thực thi và có thể chạy các dòng lệnh test chương trình. 

GitHub Actions

Job sẽ thực thi khi nhận được một event, trong job phân chia thành nhiều step khác nhau và sắp xếp các step để chạy. 

Các thành phần trong GitHub Action

Trong Jobs có thể có nhiều job khác nhau. 

Workflows

Là một thủ tục tự động, workflows được tạo bởi một hay nhiều job và các job này có thể chạy Theo định kỳ hoặc trigger chạy khi nhận được một event nào đó. 

Events

Là một hành động ấn định để trigger một workflow, ví dụ khi một developer tạo một nhánh develop nào đó thì event này được gửi tới workflow, hoặc bạn có thể sử dụng webhook khi nhận một event bên ngoài trigger vào workflow. 

Jobs

Là một tập các steps để thực thi trên cùng một runner. Mặc định với một workflow chạy nhiều job thì các job này chạy song song (parallel) 

Steps

Là những tác vụ riêng rẽ để chạy các command (mà còn gọi là action),  mỗi step trong một job thực thi trên 

Actions

Là một building block, có tính portable được build sẵn,  bạn có thể tạo riêng một action riêng cho bạn. 

Runners

Là một server mà GitHub Actions cài đặt các ứng dụng trong nó. Bạn có thể sử dụng runner của github hoặc bạn có thể sử dụng server riêng của bạn. 

Github runner hỗ trợ các hệ điều hành: Ubuntu Linux, Microsoft Windows, and macOS

Ví dụ một file build như sau: 

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v1
      - run: npm install -g bats
      - run: bats -v

Mong vài dòng chia sẻ trên, có thể giúp bạn hình dung được GitHub Actions là gì. 

Hãy theo dõi bài viết trên Japan IT Works để cập nhật những kiến thức hữu ích nhé!

 



Việc làm theo chuyên ngành

Việc làm theo ngành

Việc làm theo tỉnh thành