Study + Daily = Steadily 자세히보기
반응형

Android 7

Android 배포자동화(fastlane + github actions) - Part.4

< Prev 로컬 환경에서 fastlane이 잘 동작하는걸 확인했다면 깃헙 레파지토리로 이동하자 Github Action 설정에 앞서.. 자동화를 하려는 프로젝트의 branch 전략에 대해 명확히 파악하는 것이 중요하다. (보통 이미 브런치 전략은 파악하고 있겠지만..) Github Action이 실행되는 조건(트리거)은 설정하기 나름이겠지만, 일반적으로 특정 브런치에 푸쉬 혹은 PR 됐을 때를 기준으로 Job을 실행시키기 때문에, 어떤 브런치에 어떤 상황에서 트리거가 발생할지 고민하고 설정해보기를 바란다. 브랜치 전략에 대해 모른다면 해당 글을 참고하도록 하자. 알기쉽게 잘 설명되어 있다 참고로 해당 프로젝트는 git-flow 전략을 사용하며 release 브런치에 PR이 발생했을 때 workflow가..

Development/Android 2022.04.20

Android 배포자동화(fastlane + github actions) - Part.3

이제 실제로 fastlane을 사용하여 앱을 빌드하고 빌드 된 앱을 App Distribution을 사용해 QA팀에게 배포하는 과정이다.굉장히 지난한 과정 같지만 해당 과정만 잘 동작하면 나머지는 깃 헙 액션을 통해 트리거를 만들어 특정 상황에서 fastlane을 실행시켜주는 과정만이 남았다. 물론 현업에서 실제로 사용할 만큼의 Fastfile을 작성하고 빌드 환경에 맞춰 수정하려면 다른 사람들이 작성한 Fastfile을 찾아보며 본인에 게 맞게 작성해 줘야하겠지만 git에 많은 reference가 존재하므로 크게 어려운 작업은 아닐것이다. 프로젝트 root 디렉토리에서 다음 명령어를 입력하여 app distribution 플러그인을 설치한다fastlane add_plugin firebase_app_di..

Development/Android 2022.04.11

Clean architecture, Android Application Architecture

Clean Architecture란 무엇인가? 위의 클린 아키텍쳐 다이어그램은 여러 아키텍쳐가 가지고 있는 아래의 특징들을 전부 실행 가능한 하나의 아이디어로 통합하려는 시도이다. 클린 아키텍쳐의 특징 프레임 워크 독립성 프레임 워크의 존재 여부에 의존하지 않는다. (도구로써 프레임워크를 사용한다) 테스트 용이성 비즈니스 로직은 UI, Database, Web Server, 기타 외부 요소가 없어도 테스트할 수 있다. UI 독립성 시스템의 나머지 부분을 변경하지 않고도 UI를 변경할 수 있어야한다 DB 독립성 DB(MS SQL, 몽고 등)가 교체되어도 이상없이 동작해야한다. 비즈니스 로직은 데이터 베이스에 결합되지 않는다 모든 외부 에이전시에 대한 독립성 비즈니스 로직은 외부세계와의 인터페이스에 대해 전..

Development/Android 2022.04.06

Android 배포자동화(fastlane + github actions) - Part.2

Android 배포자동화(fastlane + github actions) - Part.1 어느덧 이직한지도 약 3주가되고, 새로운 프로젝트 준비기간에 돌입했다. MVP(Minimum Viable Product / 최소기능제품)를 정의하고, 그에 따른 구체적인 기획 등을 논의하는 와중에 나는 MVP를 통해 어떤 repository-of-bracket.tistory.com 3. App Distribution 등록 QA 배포를 위해 App Distribution 등록합니다. (Firebase에서 제공하는 App Distribution에 대해 잘 모르는 사람을 위해 차후 문서를 작성하도록하겠다) 우선 파이어베이스 콘솔로 이동하여 프로젝트를 추가하여 줍니다. 프로젝트가 추가 되었다면 Ap..

Development/Android 2022.04.05

Android 배포자동화(fastlane + github actions) - Part.1

어느덧 이직한지도 약 3주가되고, 새로운 프로젝트 준비기간에 돌입했다. MVP(Minimum Viable Product / 최소기능제품)를 정의하고, 그에 따른 구체적인 기획 등을 논의하는 와중에 나는 MVP를 통해 어떤 기능들이 들어갈지를 예측하고 그에 맞는 프레임워크나 라이브러리 등을 찾아보고 비교하고 있다. 앞서 말했다시피, MVP 개발을 통해 서비스의 살을 붙여나갈 예정이므로 예상컨데 CI/CD, 특히 짧은 sprint를 통한 지속적인 통합(Continuous Integration)은 선택이 아닌 필수요소가 될 것이다. 이에 대비하기 위해, fastlane과 github actions를 이용하여 배포 자동화를 구축하기까지의 과정을 기록하려 한다. 가능하다면 차후 스터디를 통해 CI 환경에서의 테스..

Development/Android 2022.03.30

[번역] CameraX 기초 예제 - Part1

본 포스트는 developer.android.com 에 작성되어 있는 Getting Started with CameraX 문서를 한글로 번역한 문서입니다. 본래 한 포스트로 작성되어 있으나, 티스토리 블로그의 문제인지 자꾸 포스팅이 날아가는 오류가 발생해 부득이 나눠 발행합니다. [번역] CameraX 기초 예제 - Part1 (현재) [번역] CameraX 기초 예제 - Part2 [번역] CameraX 기초 예제 - Part3 1. 시작하기 전에 이 CodeLab에서는 카메라X를 사용하여 뷰파인더를 보여주고, 사진을 찍고, 카메라의 이미지 스트림을 분석하는 카메라 앱을 만드는 방법에 대해 배울 것입니다. 이를 위해 뷰파인더 디스플레이부터 실시간 프레임 분석까지 다양한 카메라 조작에 활용할 수 있는 카..

Development/Android 2022.02.11

JetPack Compose

JetPack Compose 해당 포스트는 2021년 6월 노션에서 작성된 것을 옮겨온 것임을 미리 알려드립니다. Jetpack Compose? 안드로이드 용 최신 UI Tool kit. 직관적, 강력, 빠르게 개발 가능함. 코드가 적기 때문에 빠르고 쉬움 기능을 구축하는데 집중하고 UI를 만드는 시간이 줄어들음 7월 오픈 예정 Sample Jetpack Compose를 사용하기 위해서는 Android Studio Arctic Fox를 다운로드 해야한다. New - Project - Empty Compose Project 선택 처음 프로젝트를 만들면 다음과 같은 기본 소스가 생성된다. class MainActivity : ComponentActivity() { override fun onCreate(sa..

Development/Android 2022.02.09
반응형