PaaS/CI CD

Github Actions 설정

armyost 2023. 11. 7. 23:32
728x90

Gitlab Runner, AWS CodePipeline과 같은 컨셉의 서비스이다. 요즘은 대부분의 파이프라인이 YAML로 짜는것으로 컨센서스가 이루어진듯하다. Groovy는 이제 안녕..

 

Github Actions 는 ...

 

Github Repository에 이벤트가 발생했을때 트리거 되는 Workflow를 정의할 수 있습니다. 예를들어 Pull Request(=Gitlab의 Merge Request) 가 수행되거나 Issue가 등록되었을때 말입니다. Workflow는 하나 또는 여러개의 Job으로 이루어지며 순차적으로 또는 병렬적으로 수행되도록 할 수 있습니다. 각각의 Job은 별개의 가상환경(Virtual runner)에서 실행되거나 Container 내부에서 실행됩니다. 그리고 각각의 Job은 하나 또는 그이상의 Step으로 이루어져 있습니다. Step이란 Jenkins의 Step 개념과 동일합니다.

 

 

 

 

[Settings] - [Actions] - [General] 에 대한 설명이다.


Actions Permission

 

각 Repository에 대한 Actions가 유발되는 시점 또는 권한을 설정할 수 있습니다. Actions를 비활성화 할수도, 어떤 Reusable Workflow 또는 행위(actions)가 수행될 것인지 정책을 수립할 수 도 있습니다.

※ Reusable Workflow : 재사용가능한 템플릿으로 Staging, QA, Production과 같이 다른 환경이지만 동일한 파이프라인이 필요할 때 유용하다. 

 

 

  •  Allow all actions and reusable workflows : 누가 이벤트를 작성했는지, 어디서 정의된 것인지 상관없이 모든 actions와 workFlows를 사용할 수 있습니다.
  •  Disable actions : 해당 Repository의 Actions 탭이 없어집니다. 즉 Actions를 사용하지 않겠다는 뜻입니다.
  •  Allow armyost actions and reusable workflows : Owner(armyost) 가 접근가능한 권한내에서 모든 actions와 workflow를 사용할 수 있습니다.
  •  Allow armyost, and select non-armyost, actions and reusable workflows : Owner(armyost)가 접근가능하거나, 특정 조건이 맞는 경우 해당 actions와 workFlow를 사용할 수 있습니다.

Artifact and log retention

  • Repository, Organication, Enterprise Account의 Actions로 인해 생성된 artifact와 log의 보관주기를 결정합니다. 
  • 디폴트는 90일입니다. public Repsitory의 경우 1~90일의 세팅을, private Repository의 경우 1~400일의 세팅이 가능합니다.
  • 새로운 보관주기를 세팅할 경우 이후의 artifact와 log파일에 적용됩니다. 
  • Organization과 Enterprise가 관련하여 주기가 세팅이 되어 있다면 그 내부에서 운영되는 Repository와 Organization은 그 최대치를 넘지 못합니다.


Fork pull request workflows from outside collaborators

 

외부 contributer(collaborators) 가 Fork한뒤 수정하여 Pull Request한 경우, workflow를 수행할 것인지에 대한 승인체계를 적용할 것인지에 대한 정책이다.

  • Require approval for first-time contributors who are new to GitHub. : Github에 최근에 계정을 만들어서 처음 Contibute하는 외부 contributor에게 승인체계 할당
  • Require approval for first-time contributors. : 처음 Contribute하는 외부 contributor에게 승인체계를 할당합니다.
  • Require approval for all outside collaborators. : 모든 외부 collaborator에 대해 승인체계를 할당합니다.


Workflow permissons

 

Workflow가 해당 Repository에서 가지는 권한

 

  • Read and write permissions. : Workflow가 해당 Repository의 전영역에 대해 Read/Write 권한을 가진다.
  • Read repository contents and packages permissions. : Workflow가 해당 Repository의 contents와 package에 국한하여 Read 권한이 있다.

'PaaS > CI CD' 카테고리의 다른 글

Commit/Push할 Git remote branch 바꾸기  (0) 2023.11.09
Github과 Gitlab의 리소스 비교  (0) 2023.11.08
AWS SaaS Boost 배포하기  (0) 2023.06.22
git 비밀번호 저장  (0) 2023.03.06
Gitlab Runner 사용법  (0) 2023.01.13