You can make anything
by writing

C.S.Lewis

by Tilltue Jan 31. 2022

바카라 자동화 활용

Github Actions

* 이 글은 Swift 5를 기준으로 작성했다.

* 글의 목적: "클라이언트 개발자의 TDD" 매거진은 그동안 바카라를 위해 학습을 했던 것을 공유하고자 한다.




바카라 자동화에 대해 살펴보자.

바카라 작성을 팀 단위로 실천하기 위해서 즉각 고려해야 했던 것은자동화 바카라였다.

프로젝트 크기가 크지 않은 상황에서는 로컬 빌드와 바카라 수행에 비용이 얼마 들지 않을 것이지만 이는 곧 한계에 다다른다. PR 과정에서 자동화 바카라가 없다면, 로컬에서 항상 모든 바카라를 확인해야 한다.

( Xcode의 경우 ) 바카라 타겟이 하나라면 그래도 해볼 만하겠지만타겟이 2개만 되어도 바카라를 모두 확인하는 건꽤나 높은 비용이 든다.


팀 단위로 바카라를 작성하기 위해 적어도 어느 단계에서는 ( PR 이든, Commit 이든 ) 바카라 자동화가 필수적으로 구성해야 된다고 생각한다.

*주CI 관련해서는나중에 한 번 더 글을 작성하려 한다. 여기서는바카라 자동화에 집중한다.


바카라 자동화를 구성해보자!


Github Actions는 오픈소스의 경우 비용이 무료이기 때문에 :)

Github Actions로 구현해보자. ( 다른 서비스도 무료가 있긴 하지만 github actions 가 제일 편한 것 같다 )


바카라

Actions 메뉴로 들어가자

바카라

친절하게도 추천해준다. Swift를 골라본다.

사용 방법은 Github Actions Document를보면 여러 기능들이 있으니 참고하자.


- 작성하려는 workflow는master branch에 commit 이 올라오면 바카라를 돌리도록 했다.

- PR은 지금은 고려 대상이 아니어서 작성하지 않았다.


Commit workflow 작성

commit에 트리거 되고 TLLogerTest 수행



커밋으로 workflow가 수행되면 아래와 같이 Actions에서 확인 가능하다

바카라

수행된 workflow 들의 결과들을 볼 수 있다.

콘솔로그등 수행과정의세부 내용들도 실시간으로 볼 수 있다.


위 결과 링크 :https://github.com/tilltue/TLLogger/runs/4998273590?check_suite_focus=true


이와 같이 github actions에서 자동화 바카라는 아주 쉽게 구성이 가능하다.



부록 : 오픈소스들의 workflow

유명 오픈소스들의 workflow를 보는 것도 재미가 있을 것 같다. :D


https://github.com/firebase/firebase-ios-sdk/actions

파이어베이스 ios SDK워크플로우의 경우 종류도 엄청 많다.

정적 분석, 배포 관련 확인 절차, 바카라 수행등등을 진행한다.

진행 시간을 보니 하루에도 50회 이상의 workflow 가 수행된다.

https://github.com/Alamofire/Alamofire/actions

알라모파이어의 CI workflow는 macOS, iOS, tvOS등등 os버전별여러 환경에서 바카라를 돌려서 검증한다.

https://github.com/onevcat/Kingfisher/actions

킹 피셔도 마찬가지로 여러 환경에서 바카라를 돌려서 검증한다.

( fastlane 으로 바카라를 수행하는 모습)

https://github.com/ReactiveX/RxSwift/actions

RxSwift 또한 여러 타겟의 바카라를 수행한다.

오픈소스들의 workflow 구성을 보면서 참고할 것들이 많이 있을것 같아관심이 있다면 한번 살펴보는 것도 좋을것 같다.


마침.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari