'DevOps' 카테고리의 글 목록 (2 Page) — SH's Devlog

DevOps

DevOps/CI CD

[Android] Fastlane으로 App Distribution & PlayStore에 배포하기

Fastlane이란? Fastlane은 Android 및 iOS 어플리케이션의 배포를 자동으로 도와주는 오픈소스 프로젝트입니다. Fastlane을 이용하면 스크린샷, 앱 릴리즈, 코드 서명 등의 배포할 때 필요한 반복작업들을 자동화시킬 수 있습니다. Fastlane에서 지원하는 기능은 다음과 같습니다. 1. 스크린샷 자동화 2. 베타 배포 3. Play Store 배포 4. 코드 서명 (iOS용) 이 포스트에서는 Fastlane 설치 및 설정, Beta 배포와 Play Store에 배포하는 방법을 다루어보도록 하겠습니다. Fastlane 설치 Fastlane을 설치하는 방법은 homebrew를 이용하는 방법 등의 다양한 방법이 존재하지만, 가장 권장하는 방법은 Bundler를 이용하여 설치하는 것입니다...

DevOps/CI CD

[CI/CD] Jenkins - Locale 언어 설정하기

이번 포스트에서는 Jenkins에서 Locale 언어를 설정하는 방법을 정리하겠습니다. Jenkins의 Default Language는 기본적으로 지금 사용하고있는 인터넷 브라우저의 language 설정과 같은 언어로 설정됩니다. 그래서 브라우저의 language 설정대로 사용하지 않고 따로 Jenkins locale 설정을 바꾸고 싶다면 Locale plugin을 통해 설정할 수 있습니다. 한글로 설정되어있는 Jenkins locale 설정을 영어로 바꾸어보겠습니다. Locale Plugin 설치하기 [Jenkins 관리] - [Plugins] - [Available plugins]에서 검색창에 locale을 검색해줍니다. Locale Plugin 체크박스를 선택해 준 후에 [Install witho..

DevOps/CI CD

[CI/CD] Jenkins - Github 연동하기(Git Personal Access Token)

Git Personal Access Token 발급하기 깃허브에 접속해서 [Profile] - [Settings] - [Developer settings] - [Personal access tokens] 탭에 들어가서 [Generate new token]을 선택해줍니다. token에 대한 설명, 만료 기간과 토큰에 대한 권한 scopes를 설정해줍니다. 저는 repo, repo_hook에 대한 권한을 부여했습니다. 토큰 생성이 완료되었습니다. Jenkins에 Token 등록하기 [Manage Jenkins] -> [Manage Credentials] - [System] - [Global credentials (unrestricted)]에 들어갑니다. 아래의 내용을 입력해줍니다. Kind -> Usern..

DevOps/GIT

[Git] git reflog를 이용하여 git reset --hard로 지워진 커밋 복구하기

Git reflog란? git reflog는 로컬 저장소에서 HEAD의 업데이트를 기록을 출력합니다. 업데이트의 내용은 저장소 디렉토리의 .git/logs/refs/heads/. 혹은 .git/logs/HEAD에 기록되며 git reflog는 이 내용을 출력합니다. git reflog 사용법(명령어) 모든 브랜치의 reflog를 보고싶다면 아래와 같이 호출하면 됩니다. $ git reflog 위의 명령어는 아래의 명령어가 생략된 것입니다. 모든 브랜치의 HEAD 참조 기록을 보여줍니다. $ git reflog show HEAD 만약, 특정 브랜치의 reflog만 보고싶다면 아래와 같이 호출하면 됩니다. $ git reflog [show] "branch name" git reflog가 알려주는 정보는? 커..

DevOps/GIT

[Git] git commit --amend로 마지막 커밋 수정하기

기능을 만들고 커밋을 했는데 방금 올린 커밋 내용을 들여다보니 무언가 내용이 빠져있거나 잘못 올린 경우가 있습니다. 그럴 경우에 가장 간단한 방법인 git commit --amend로 커밋을 수정해주면 됩니다. 이번에는 마지막 커밋을 수정해주는 git commit --amend에 대해 정리하겠습니다. git commit --amend란? 브랜치의 최신 커밋을 수정하는 가장 간단한 방법입니다. 브랜치의 최신 커밋을 수정하기 위해 git reset으로 커밋을 지우고 수정된 내용을 다시 커밋해주는 방법도 있지만 git commit --amend를 이용하면 reset 작업 없이 간단하게 최신 커밋을 수정할 수 있습니다. 그림으로 봐도 간단합니다. git commit --amend를 사용하면 위의 그림처럼 마지막..

DevOps/CI CD

[CI/CD] Jenkins 설치하기 (Docker)

이번 포스트에서는 Docker를 이용하여 아무런 설정이 되어있지 않은 젠킨스를 설치하는 방법을 정리하겠습니다. 프로덕트 레벨에서 Jenkins로 CI 환경을 구성하실 분들은 이 방법보다는 사용하시는 프로젝트의 빌드 환경을 구성하는 Dockerfile을 작성해서 이용하시는 것을 추천합니다. 테스트 환경 OS: Ubuntu Server 22.04 LTS (HVM) 성능: t2.micro(free tier) 만약, EC2에서 Jenkins를 설치하신다면 외부에서 Jenkins 접속을 위해서 Security group의 인바운드 규칙 설정을 통해 8080 포트를 열어주셔야 합니다. Jenkins 컨테이너 실행 이미지는 jenkins/jenkins 이미지의 latest 버전을 사용하여 컨테이너를 실행해주겠습니다...

DevOps/GIT

[GIT] .gitconifg 설정으로 remote URL을 ssh 혹은 https로 사용하도록 만들기

이번에는 .gitconfig을 이용하여 clone시 remote url을 https 혹은 ssh로 바꾸게 만들어서 편하게 git url을 설정할 수 있는 방법을 알아보겠습니다. 설정할 수 있는 gitconfig 세 가지 입니다. 또한, 각 설정은 .git/config > ~/.gitconfig > /etc/gitconfig 순으로 우선시 됩니다. 1. /etc/gitconfig 파일 시스템의 모든 사용자와 모든 저장소에 적용되는 설정 파일입니다. 이 파일은 시스템 전체 파일에 대한 설정이기 때문에 수정하려면 시스템의 관리자 권한이 필요합니다. $ git config --system https -> ssh로 사용하기 // git fetch or git push url git config --system u..

DevOps/GIT

[Git] Git Rebase란? (feat. git-flow 히스토리를 더 이쁘게 만들기)

안녕하세요. 이번에는 Git rebase에 대해 정리하겠습니다! Git rebase란? Git rebase는 두 개의 공통 Base를 가진 Branch에서 한 Branch의 Base를 다른 Branch의 최신 커밋으로 branch의 base를 옮기는 작업입니다. 용어 그대로 베이스를 다시 설정하는 작업입니다. Git rebase의 장점 1. 공유 branch의 최신 변경사항을 즉각 반영할 수 있다. git merge는 공유 branch에 대한 변경사항을 즉각 대응하기 어렵습니다. 반면에 Git rebase를 사용한다면, 동료 개발자들이 올린 commit들의 수정사항을 내가 작업하고 있는 branch에 즉각 반영할 수 있습니다. 즉, 공유 branch에 대한 최신 commit을 반영하면서 작업을 해야할 때..

DevOps/CI CD

[CI/CD] CircleCI(version 2.1)로 통합, 배포 파이프라인 구성하기(+Android 파이프라인 작성하기)

CircleCI란? CircleCI는 VCS(Version Control System)와 연동하여 빌드, 테스트 및 배포를 자동화하는 데 도움이 되는 지속적인 통합(Continuous Integration)을 제공하는 플랫폼입니다. 또한, 캐싱, 도커 레이어 캐싱, 리소스 클래스 등을 사용하여 매우 복잡한 파이프라인을 효율적으로 실행하도록 구성할 수 있습니다. config.yml 설정키 (version 2.1 기준) version version은 CircleCI의 버젼을 나타냅니다. 2.1에서는 orbs, commands, executors를 추가로 사용할 수 있습니다. version: 2.1 jobs: // ... workflows: // ... orbs orbs는 반복되는 프로세스를 자동화하고 설정속..

DevOps/Linux

[Linux] find 명령어로 파일 / 디렉토리 검색하기

이번 포스트에서는 find 명령어로 파일을 검색하는 방법을 정리하겠습니다. find 명령어 find 명령어를 이용하면 파일 혹은 디렉토리를 검색할 수 있습니다. $ find [옵션(options)] [경로(path)] [표현식(expression)] find 명령어의 옵션(options) -P -> Symbolic link일 경우 따라가지 않습니다. default 설정입니다. -L -> Symbolic link를 따라가지 않습니다. -H -> command line argumnets(명령줄 인수)를 처리할때를 제외하고 Symbolic link를 따라가지 않습니다. find 명령어의 표현식(expressions) Test Expressions Test Expressions는 특정 조건에 맞는 파일들은 선별..

반응형
seunghwaan
'DevOps' 카테고리의 글 목록 (2 Page)