Android/CI, CD5 Android앱에 Fastlane과 Firebase App Distribution을 통한 CD 자동배포 적용하기 니들은.. 수동배포 같은거 하지마라.. 😎그럼,, Start~!수동 배포의 단점 PlayStore Beta로 테스트앱 관리를 할 때, feature 단위 건의 개발이 완료되면 버전별로 테스트 앱을 배포하고 QC를 진행하는 방식인데, 가장 기본적인 방법일 수도 있지만 이게 여간 짜증나고 불편한 것이 아니다.1. 테스트앱을 제공하는데 너무 많은 시간이 걸린다.개발이 완료되면 앱을 빌드한뒤 플레이스토어에 업로드해야한다. 우선 2차 인증을 거친 구글 로그인을 해야하고 적당한 릴리즈노트와 함께 앱을 업로드하면, 앱파일을 첨부하는데 일정 시간을 소요한뒤에 앱을 제출할 수 있다. 업로드가 완료되면 바로 제공되는 것도 아니고, 약 30분의 ‘출시준비중’ 단계를 대기한 후에 테스터들에게 앱이 제공된다.2. 앱이 제공되.. 2024. 1. 7. 안드로이드 CI/CD (4) - GithubActions을 통한 CI/CD 예시 무엇이든 직접 해봐야 이해가 될 것이라 생각이 든다. 이제 CI 를 직접 구축해보려 한다.여기서는 아래 내용들을 순차적으로 다뤄볼 예정이다.먼저 예시에 언급되었던 명령어인 ./gradlew build 의 한계를 분석해보려 한다.맨 처음에 CI 사용 목적에 대해 간단히 이야기했을 때 아래 3가지를 이야기했었다.1~3번의 경우 어떤 명령어들을 활용할 수 있는지, 내가 했던 경험에 기반하여 간단한 예시코드도 언급하려 한다.2번의 경우 추가로 코드스타일 관련 도구들도 짤막하게 언급할 예정이다.배포할 브랜치에서 프로젝트 빌드가 잘 되는지,컨벤션 및 코드스타일 규칙을 지켰는지로직 오류 검증을 위한 테스트 코드를 실행하고 결과를 확인해주는지1. gradlew build 명령어 깊게 바라보기우리는 이전에 ./gradl.. 2024. 1. 6. 안드로이드 CI/CD (3) - GithubActions을 통한 CI/CD [on, job, workflow] 앞장에서 우리는 CI/CD 를 통해 hello world 를 찍어보면서 다양한 내용들 (언어보단 리눅스, 라이브러리의 존재 등) 을 확인하고 CI 의 이점도 새삼 확인해볼 수 있었다.이제 지난번에 간략하게만 언급했던 on 과 job 에 대해서 다시 다루어보고 다음 단계로 넘어가보려 한다.(사실 단원을 따로 두긴 했지만 그렇게 많은 내용을 다루진 않을 것 같다.) 1. onon 에 대해서는 주로 Event 와 연결되어 많이 이야기가 나온다.github 에서 이야기하는 Event 는 github Repository 내에서 동작하는 일련의 활동 (ex. pull Request, push 등) 을 통칭한다.아래는 on 의 간단한 예이다.on: push: branches: - '*'위 내용을 그대.. 2024. 1. 6. 안드로이드 CI/CD (2) - GithubActions을 통한 CI/CD 구축 GitHub Actions란?GitHub Actions의 도큐먼트를 보면 GitHub Actions는 CI/CD와 같은 workflow를 자동화 할 수 있는 도구라고 설명되어 있는데, 쉽게 말해 GitHub 내 어떤 이벤트(push, pull, merge ...)가 발생하면 해당 이벤트에 대해 정해진 동작을 실행하게 하는 도구라고 이해하시면 될 것이다.GitHub Actions에는 event, trigger, job, step, uses, name ... 등 여러가지 키워드들이 많은데요, 코드와 주석으로 함께 설명하도록 하겠다. 1. 적용할 프로젝트에서 Actions 클릭 위의 Actions 버튼을 눌러 github actions 페이지로 접속한다.(필자의 경우는 급하게 Repository 를 만들고 스.. 2024. 1. 6. 안드로이드 CI/CD (1) - 개념 CI / CD? 멍미일단 용어 설명부터 해보자면 이렇다CI : Continuous Integration (지속적 통합)CD : Continuous Deployment (지속적 배포)함축적이어서 이해가 잘 안되었다면, 아래 내용을 보면 도움이 될 것이다.개발 > 빌드 > 테스트 > 배포 과정을 자동화하는 것"개발 > 빌드 > 테스트" 를 자동화하는 것을 "CI","배포" 를 자동화 하는 것을 "CD" 로 보면 된다. 꼭 필요한건가?서론에서도 언급했지만 CI / CD 는 없어도 된다.CI / CD 가 없으면 그냥 개발자가 수동으로 하면 된다.구축했더라도 기능 개발이 급하거나, 개인 혹은 소규모 프로젝트에서는CI / CD 의 검증 및 배포 시간을 기다려야 하기 때문에 귀찮게 느껴질 수 있다.그리고 Androi.. 2024. 1. 6. 이전 1 다음