목록프로그래밍/DevOps (8)
개발자 블로그

AWS CodeArtifact는 무엇?완전관리형 소프트웨어 아티팩트 리포지토리 서비스AWS CodeArtifact는 규모에 관계 없이 모든 조직이 소프트웨어 개발 프로세스에서 사용되는 소프트웨어 패키지를 안전하게 저장, 게시 및 공유 할 수 있도록 지원하는 완전관리형의 아티팩트 리포지토리 서비스입니다. CodeArtifact는 퍼블릭 아티팩트 리포지토리에서 소프트웨어 패키지 및 종속 항목을 자동으로 가져오도록 구성할 수 있으므로, 개발자는 최신 버전에 대한 엑세스 권한을 가집니다. CodeArtifact는 일반적으로 사용되는 패키지 관리자와 빌드 도구(예: Maven, Gradle, npm, yarn, twine, pip 및 NuGet)에서 작동하므로 기존 개발 워크플로에 손쉽게 통합할 수 있습니다.출처..

⛔️ 사전 알림 ⛔️이 글은 실패한 글 입니다. 시간이 아까우신 분들은 뒤로가기를 눌러주세요. 파이프라인 성능 개선테스트 자동화까지 구현을 했지만, 덕분에 전체 빌드 파이프라인 수행 시간이 많이 늘어났습니다.아래는 각 스텝 별 실행 시간입니다.안드로이드 이미지를 다운로드 받고, 에뮬레이터가 부팅이 완료 될 때 까지 걸리는 시간이 3분 55초입니다. 하지만 이 스크립트에는 개선의 여지가 없습니다.그 다음 많은 시간을 잡아먹는 것은 Gradle 빌드 작업입니다.아무래도 이 Gradle 작업의 성능을 개선해서 전체 파이프라인의 속도를 개선해야 될 것 같네요. Gradle 성능 개선사실 gradle은 그렇게 간단하지 않습니다. gradle만 다루는 책이 별도로 출판 되었을 정도니깐요.저도 솔직히 말씀드려서 gr..

이 문서에서 다루는 내용이 문서에서는 테스트 기법, 테스트 코드 작성 기법, UI 테스트 자동화에 대해서는 다루지 않습니다. 각각의 항목에 대한 상세한 내용은 아래 링크를 참고 바랍니다.앱 테스트https://developer.android.com/studio/test?hl=koAndroid에서 앱 테스트https://developer.android.com/training/testing?hl=koUI 테스트 자동화https://developer.android.com/training/testing/ui-tests?hl=ko 안드로이드 앱 테스트 종류잘 아시겠지만 안드로이드 앱 테스트 방법에는 두 가지 종류가 있습니다. ⚠️ 참고 - 용어는 https://developer.android.com/studio/..

왜 느림? 왜 이렇게 많은 시간이 걸리는지 확인하기 위해 파이프라인 실행 결과를 살펴보겠습니다. 제목이 스포일러가 된 것 같은데.. 소스코드 체크아웃 하는 부분이 8분 31초나 걸리고 있습니다. 전체 런닝 타임이 12분 30초인걸 감안하면 거의 60% 정도의 시간이 여기에 소요된다는 것을 알 수 있습니다. 체크아웃 항목을 클릭하면 자세한 내용을 볼 수 있습니다. 주요 내용을 옮기면 대략 아래와 같습니다. Receiving objects: 98% (28461/29041), 2.71 GiB | 5.79 MiB/s Receiving objects: 99% (28751/29041), 2.71 GiB | 5.79 MiB/s Receiving objects: 100% (29041/29041), 2.71 GiB | ..

✔ Firebase 관련 안내 이 예제에서는 배포 도구로 Firebase App Distribution을 사용합니다. 아직 Firebase 구성을 시작하지 않았다면 먼저 Firebase 프로젝트 설정을 완료해주세요. https://console.firebase.google.com/ ✔ App Distribution 관련 안래 Firebase App Distribution을 사용하기 위해서는 몇 가지 설정을 먼저 진행해주셔야 합니다. 여기서는 해당 절차들에 대해서는 설명하지 않습니다. 자세한 내용은 아래 링크를 참고하세요. ● Firebase App Distrubution 개요 - https://firebase.google.com/docs/app-distribution?hl=ko ● 테스터를 위한 설정 -..

YAML이 뭔데? 야, 근데 YAML이 뭐냐? https://ko.wikipedia.org/wiki/YAML 좀 더 경량화 된 json? 읽을 때는 '야믈' 또는 '야멜' 정도로 발음합니다. ('야믈' > '야멜' 인듯?) 어쨌든 파이프라인 구축에 있어서 YAML이 뭔지는 중요하지 않습니다. 중요한건 command입니다. json과는 다르게 대신 띄어쓰기가 중요하다(의미를 가진다)라는건 기억하세요! 다시 처음부터... 이제 본격적으로 빌드 파이프라인을 생성해 봅시다. 이전에 classic editor로 만들었던 빌드 파이프라인은 삭제합니다. 그리고 다시 "New pipeline" 버튼을 클릭해서 파이프라인 생성을 시작합니다. ✔ 참고 "GUI로 만들기" 항목과 중복되는 부분 중 중요하지 않은 단계들은 생..

✔ 참고 실제 운영환경에서는 GUI로 빌드 파이프라인을 생성하지는 않습니다. 따라서 이 페이지 내용은 그냥 가볍게 살펴보셔도 괜찮습니다. Classic Editor vs YAML 기본적으로 YAML을 사용해서 빌드 파이프라인을 작성하는걸 권장합니다. 이름이 Classic Editor라서 이게 직접 스크립트를 작성하는 것 같지만, GUI 방식이 맞습니다. YAML은 직접 스크립트를 작성하는 방식입니다. YAML을 사용해야 좀 더 세부적인 내용을 건드릴 수 있어서 YAML 방식을 추천하는 것 같습니다. 일단은 돌려보자! 백문이 불여일견! 일단 돌려봅시다. 전 단계에서 "New pipeline" 버튼을 클릭하면 아래 화면이 표시됩니다. 우리는 일단 GUI 방식으로 구축을 할 것이기 때문에 이미지 맨 밑에 보이..

✔ 빌드환경 이 페이지에서 설명하는 내용은 안드로이드 앱 빌드를 기본으로 합니다. ✔ 형상관리 도구 이 페이지에서 설명하는 내용은 VCS로 Azure DevOps Repos git을 사용합니다. ✔ APK 배포 방법 생성된 APK 배포를 위해서 Firebase App Distribution을 사용하고, 세부적인 구현 방식은 gradle을 사용한 앱 배포 방식을 사용합니다. 위와 관련하여 자세한 내용은 아래 링크를 참고하세요. https://firebase.google.com/docs/app-distribution/android/distribute-gradle 빌드 파이프라인? Build Pipeline은 trigger branch에 변경(push, merge)이 발생했을 때 자동으로 빌드가 수행되도록 하..