본문 바로가기
GIT/Github

github actions 란

by Rainbound-IT 2022. 11. 12.
반응형

github에서 만든 github을 사용한 cicd 자동화 툴

github을 사용하면 다른 설치 툴 설치 없이 굉장히 편리할 수 있는 툴이다.

단점이 있다면 다른 서비스에 배포하게 되는데 보안상 문제와 배포 옵션이 없다는 점이 문제가 된다.

 

다음은 공식 홈페이지에서 나온 소개 내용입니다.

 

개요

GitHub Actions는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD(지속적 통합 및 지속적 전달) 플랫폼입니다. 리포지토리에 대한 모든 풀 요청을 빌드 및 테스트하는 워크플로를 생성하거나 병합된 풀 요청을 프로덕션에 배포할 수 있습니다.

GitHub Actions는 DevOps를 넘어 리포지토리에서 다른 이벤트가 발생할 때 워크플로를 실행할 수 있습니다. 예를 들어, 누군가가 저장소에 새 문제를 생성할 때마다 적절한 레이블을 자동으로 추가하는 워크플로를 실행할 수 있습니다.

GitHub는 워크플로를 실행하기 위한 Linux, Windows 및 macOS 가상 머신을 제공하거나 자체 데이터 센터 또는 클라우드 인프라에서 자체 호스팅 실행기를 호스팅할 수 있습니다.

GitHub 작업의 구성 요소

풀 요청이 열리거나 문제가 생성되는 것과 같은 이벤트 가 리포지토리에서 발생할 때 트리거되도록 GitHub 작업 워크플로 를 구성할 수 있습니다. 워크플로에는 순차적으로 또는 병렬로 실행할 수 있는 하나 이상의 작업 이 포함되어 있습니다. 각 작업은 자체 가상 머신 실행기 내부 또는 컨테이너 내부에서 실행되며, 사용자가 정의한 스크립트를 실행하거나 작업 을 실행하는 하나 이상의 단계 가 있습니다 . 이는 작업 흐름을 단순화할 수 있는 재사용 가능한 확장입니다.

Workflow

워크플로는 하나 이상의 작업을 실행하는 구성 가능한 자동화 프로세스입니다. 워크플로는 리포지토리에 체크인된 YAML 파일에 의해 정의되며 리포지토리의 이벤트에 의해 트리거될 때 실행되거나 수동으로 또는 정의된 일정에 트리거될 수 있습니다.

워크플로는 리포지토리의 디렉터리에 정의되며 .github/workflows리포지토리에는 각각 다른 작업 집합을 수행할 수 있는 여러 워크플로가 있을 수 있습니다. 예를 들어 풀 요청을 빌드하고 테스트하는 워크플로, 릴리스가 생성될 때마다 애플리케이션을 배포하는 워크플로, 새 문제를 열 ​​때마다 레이블을 추가하는 워크플로가 있을 수 있습니다.

다른 워크플로 내에서 워크플로를 참조할 수 있습니다 . " 워크플로 재사용 "을 참조하십시오.

워크플로에 대한 자세한 내용은 " 워크플로 사용 ." 을 참조하십시오.

Event

이벤트는 워크플로 실행을 트리거하는 리포지토리의 특정 활동입니다. 예를 들어, 누군가가 pull 요청을 생성하거나, 문제를 열거나, 커밋을 리포지토리에 푸시할 때 GitHub에서 활동이 시작될 수 있습니다. REST API에 게시 하거나 수동으로 일정에 따라 워크플로 실행을 트리거할 수도 있습니다.

워크플로를 트리거하는 데 사용할 수 있는 이벤트의 전체 목록은 워크플로를 트리거 하는 이벤트 를 참조하십시오 .

Jobs

작업은 동일한 실행기에서 실행되는 워크플로 의 일련의 단계 입니다. 각 단계는 실행될 셸 스크립트이거나 실행할 작업 입니다. 단계는 순서대로 실행되며 서로 종속됩니다. 각 단계는 동일한 러너에서 실행되기 때문에 한 단계에서 다른 단계로 데이터를 공유할 수 있습니다. 예를 들어, 애플리케이션을 빌드하는 단계 다음에 빌드된 애플리케이션을 테스트하는 단계가 있을 수 있습니다.

다른 작업과의 종속성을 구성할 수 있습니다. 기본적으로 작업에는 종속성이 없으며 서로 병렬로 실행됩니다. 작업이 다른 작업에 종속되면 종속 작업이 완료될 때까지 기다렸다가 실행할 수 있습니다. 예를 들어 종속성이 없는 서로 다른 아키텍처에 대한 여러 빌드 작업과 이러한 작업에 종속된 패키징 작업이 있을 수 있습니다. 빌드 작업은 병렬로 실행되며 모두 성공적으로 완료되면 패키징 작업이 실행됩니다.

작업에 대한 자세한 내용은 " 작업 사용 ." 을 참조하십시오.

Actions

작업 은 복잡하지만 자주 반복 되는 작업을 수행하는 GitHub Actions 플랫폼용 사용자 지정 응용 프로그램입니다. 작업을 사용하여 워크플로 파일에 작성하는 반복적인 코드의 양을 줄이십시오. 작업은 GitHub에서 git 리포지토리를 가져오거나, 빌드 환경에 대한 올바른 도구 체인을 설정하거나, 클라우드 공급자에 대한 인증을 설정할 수 있습니다.

고유한 작업을 작성하거나 GitHub Marketplace에서 워크플로에 사용할 작업을 찾을 수 있습니다.

자세한 내용은 " 작업 만들기 ." 를 참조하십시오.

Runners

러너는 워크플로가 트리거될 때 워크플로를 실행하는 서버입니다. 각 러너는 한 번에 하나의 작업을 실행할 수 있습니다. GitHub는 워크플로를 실행할 수 있는 Ubuntu Linux, Microsoft Windows 및 macOS 실행기를 제공합니다. 각 워크플로 실행은 새로 프로비저닝된 가상 머신에서 실행됩니다. GitHub는 더 큰 구성에서 사용할 수 있는 더 큰 러너도 제공합니다. 자세한 내용은 " 더 큰 러너 사용 "을 참조하십시오 . 다른 운영 체제가 필요하거나 특정 하드웨어 구성이 필요한 경우 자체 러너를 호스팅할 수 있습니다. 자체 호스팅 러너에 대한 자세한 내용은 " 자신의 러너 호스팅 "을 참조하십시오 .

 

 

사용법

.github/workflows폴더에 yml 파일 만들어서 다음과 같이 작성한 파일을 올리면 됨

(간단하게 설명한것으로 자세한것은 아래 공식 홈페이지에서 확인하시길 바랍니다.)

name: learn-github-actions
run-name: ${{ github.actor }} is learning GitHub Actions
on: [push]
jobs:
  check-bats-version:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

 

 

 

Reference

https://docs.github.com/en/actions/learn-github-actions/understanding-github-actions

 

Understanding GitHub Actions - GitHub Docs

Overview GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that allows you to automate your build, test, and deployment pipeline. You can create workflows that build and test every pull request to your repository, or deplo

docs.github.com

 

반응형

'GIT > Github' 카테고리의 다른 글

git branch tracking 하기  (0) 2023.05.16
git branch 분기  (1) 2022.11.29
git 개념  (0) 2022.06.09
pull 에러  (0) 2022.02.03
Updates were rejected because the tip of your current branch is behind  (0) 2022.02.02

댓글