GitHub Actions là gì ? Làm quen với GitHub Actions.

Optimizing CI/CD Pipelines in GitHub Actions | ActiveState 

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, ...

What is Git and GitHub? And how to use GitHub? - DEV

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. 

Tham khảo tại đây : https://github.blog/2019-08-08-github-actions-now-supports-ci-cd/

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. 

Workflow overview


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. 

Component and service overview

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 runnner. 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

Workflow này sẽ từ do





Nhận xét

Bài đăng phổ biến từ blog này

Trang web medium.com chết, vì sao ?

Cách sử dụng sys.argv trong python.

Thiết kế một RESTful API bằng python và flask.