Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Droid Knights 2024 Github Actions 효율적인 배포 환경 만들기

Droid Knights 2024 Github Actions 효율적인 배포 환경 만들기

Github Action을 간단하게만 사용하고 계시나요?
실제 업무에 바로 활용할 수 있는 팁과 사례들을 통해 업무 효율성을 함께 높여봐요.

김태성

June 11, 2024
Tweet

Other Decks in Programming

Transcript

  1. SDLC 분석 설계 테스트 구현 배포 ❏ 데일리 앱 배포

    ❏ 기능 테스트 앱 배포 ❏ Appium 자동화 테스트 ❏ 유닛 테스트 ❏ 빌드 테스트
  2. SDLC 분석 설계 테스트 구현 배포 ❏ 마일스톤 관리 ❏

    릴리즈 브랜치 생성 ❏ 앱 배포 ❏ 릴리즈 노트 작성
  3. 구현 - ktlint ❏ 문제상황 ❏ 개발자마다 코드 스타일이 상이

    ❏ 불필요한 리뷰 과정 ❏ 깃 컨플릭 발생 ❏ 가독성이 떨어짐
  4. 구현 - ktlint ❏ 코드 리뷰 과정에서 불필요한 코드 스타일

    리뷰과정 제거 ❏ 코드 스타일이 달라 발생되는 Git Conflict 해결
  5. 구현 - 유닛 테스트 ❏ 문제상황 ❏ 시간 소모 ❏

    인적 오류 가능성 ❏ 반복 작업의 번거로움 ❏ 비용 효율성
  6. 구현 - 유닛 테스트 ❏ 반복 작업의 제거 ❏ 비용

    효율성 증대 ❏ 지속적으로 코드 안정성 검증
  7. 구현 - 빌드 검사 ❏ 문제상황 ❏ 시간 소모 ❏

    반복 작업의 번거로움 ❏ 비용 효율성 ❏ 빌드 실패 누락
  8. 구현 - 빌드 검사 ❏ 반복 작업의 제거 ❏ 비용

    효율성 증대 ❏ 지속적으로 코드 안정성 검증
  9. 자동화 프로세스 분석 설계 테스트 구현 배포 ❏ Git tag

    빌드 ❏ PR comment 빌드 ❏ Firebase App Distribution
  10. 테스트 - Git tag ❏ QA 테스트용 앱 빌드 파일을

    Slack등을 통해 간단하게 전달 ❏ 빌드파일 생성과 동시에 다른 작업 병행 가능
  11. 테스트 - PR comment ❏ 상황 ❏ PR 리뷰 과정에서

    해당 PR에 대한 빌드 생성이 필요한 경우
  12. 테스트 - PR Comment ❏ 테스트용 앱 빌드 파일을 다양한

    경로(Slack, Git등)로 간단하게 전달 ❏ 빌드파일 생성과 동시에 다른 작업 병행 가능
  13. 테스트 - Firebase App Distribution ❏ 상황 ❏ QA Engineer는

    매일 최신의 코드로 자동화 테스트를 하고 싶어요 ❏ 테스터 관리가 간단하면 좋겠어요
  14. 테스트 - Firebase App Distribution ❏ Firebase App Distribution을 이용해서

    테스터 관리가 편리 ❏ 출시 버전 히스토리를 통해 여러 버전 테스트 가능
  15. 자동화 프로세스 분석 설계 테스트 구현 배포 ❏ 마일스톤 생성

    ❏ 릴리즈 브랜치 생성 ❏ 앱 배포 ❏ 릴리즈 노트 작성
  16. 배포 - 마일스톤 생성 ❏ 문제상황 ❏ 이번 배포에 포함되는

    PR이 무엇인지 알기 어려움 ❏ 진척상황이나 일정 가시화가 되지 않음
  17. 배포 - 마일스톤 생성 ❏ 배포주기에 맞춰 마일스톤을 자동 생성

    ❏ 마일스톤을 통해 프로젝트 및 이슈 관리가 용이
  18. 배포 - 릴리즈 브랜치 생성 ❏ 상황 ❏ 수동으로 만들

    경우 실수로 앱 버전 업데이트를 하지 않음 ❏ 수동 생성시 권한이 있는 사람의 부재로 만들지 못할 경우가 발생 ❏ 배포 트레인 형태로 배포 관리를 하지 못함
  19. 배포 - 릴리즈 브랜치 생성 ❏ 배포 트레인 연착이 되지

    않음 ❏ 사람에 의존하지 않은 상태로 항상 릴리즈 브랜치가 생성
  20. 배포 - Lint 검사 ❏ 문제상황 ❏ 글로벌 서비스에서 미번역

    문구가 노출되어.. 핫픽스 배포 ❏ 접근성 동작 이슈로 CS 발생 ❏ 하드코딩된 문구로 사용자에게 노출되지 않아야하는 문구 노출
  21. 배포 - Lint 검사 ❏ 글로벌 서비스에서의 미번역 문구 노출

    이슈 발생 제거 ❏ 하드코딩 문구 제거로 개발자로 인한 실수를 방지 ❏ 그 외 다양한 린트 검사를 통해 문제 방지
  22. 배포 - 앱 배포 ❏ 로컬 빌드로 인한 비효율적인 시간

    관리 ❏ 개발 환경과 절차가 달라짐으로 인한 빌드 버전에 대한 일관성 유지가 어려움 ❏ 수동 배포로 인한 인적 오류
  23. 배포 - 앱 배포 ❏ 시간 절약 ❏ 일관성 보장

    ❏ 빠른 피드백 제공 ❏ 인적 오류 제거
  24. 배포 - 릴리즈 노트 생성 ❏ 변경사항에 대한 추적이 어려움

    ❏ 규격화된 릴리즈 노트 생성이 어려움 ❏ 시간 소모
  25. 다루지 못한 것들 ❏ Build Profiling ❏ Appium Test Automation

    ❏ Crashlytics Reminder ❏ Jira Automation Trigger ❏ Clean-up tag, branch ❏ Resource synchronize