1. CI / CD |
우리가 앱을 만들 때, 중간에 계속 바뀌는 부분이 생길 수 있습니다. 예를 들어, 새로운 기능을 추가하거나, 고쳐야 할 부분이 생깁니다.이 때, 컴퓨터가 자동으로 이 변화들을 잘 작동하는지 확인(CI)해주고, 새롭게 만든 앱을 사람들에게 쉽게 나눠주는 과정(CD)을 CI / CD 라고 합니다.
[1] CI : Continuous Intergration , 지속적인 통합 , 컴퓨터가 매일 코드가 잘 작동하는지 확인하는 과정
[2] CD : Continuous Delivery , 지속적인 배포 , 우리가 만든 앱을 다른 사람들이 쉽게 사용할 수 있도록 자동으로 보내는 과정
2. Docker |
도커는 우리가 만든 앱을 " 컨테이너 " 라는 작은 상자에 담아서 어디서든지 똑같이 작동하게 도와주는 도구입니다. 도커를 쓰면, 내가 집에서 만든 앱이 다른 사람의 컴퓨터에서도 똑같이 잘 작동합니다. 마치 장난감을 상자에 넣어두었는데, 누구나 그 상자를 열면 똑같은 장난감을 찾을 수 있는 것과 같다고 생각하면 됩니다.
** Docker 와 CI/CD **
(1) 도커로 앱 포장 : 도커를 사용해서 앱을 작은 상자 ( 컨테이너 ) 에 담습니다.
(2) 자동 테스트 ( CI ) : CI 시스템이 이 상자를 열어서 앱이 제대로 작동하는지 확인합니다.
(3) 배포 ( CD ) : CD 시스템이 상자를 다른 사람들에게 자동으로 보내줘서 누구나 사용할 수 있게 해줍니다.
3. Docker 설치 |
저는 맥이 아닌 윈도우라 설치 전에 몇 가지 기능들을 Setting 해줘야 했습니다.
처음에 가이드에 따라서 했을 때는 WSL2 를 설치해주기 위해서 사전에 무언가가 선행되어야 했습니다.
[1] Windows 기능 켜기
시작 버튼 → 제어판 → 프로그램 및 기능 → Windows 기능 켜기 / 끄기 ⇒ ... |
Windows 기능 켜기 / 끄기에서
Linux용 Windows 하위 시스템 과 Hyper-V 부분을 체크해줘야 했습니다.
하지만, 그림과 달리 제 컴퓨터에서는 Hyper-V 가 없었고, 그 이유를 찾아가다 보니,
Hyper-V 기능은 Windows 10 Pro 에디션에서만 제공되었고,
Windows 10 Home 에디션의 경우 WSL2 ( Windows Subsystem for Linux 2 ) 를 설치해야 했습니다.
( Windows 사양은 [ 설정 → 시스템 → 정보 ] 혹은 [ 내PC → 속성 ] 에서 확인 가능하였습니다.
저는 Windows 10 Home 버전이었기에 WSL2 방식으로 설치를 진행하여 보겠습니다.
[2] WSL2 설치하기
(1) 명령 프롬프트를 관리자 권한으로 실행합니다.
(2) 아래의 두 명령어를 실행합니다.
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
(3) 컴퓨터 재부팅
(4) 아래 명령어 실행 ( WSL 설치 )
wsl --install
[3] Linux 설치
(1) 아래 명령어를 실행해 사용 가능한 배포 목록을 확인하고, Ubuntu 를 설치합니다.
wsl --list --online
wsl --install --d Ubuntu
** Ubuntu (우분투) 란 ? **
우분투란 컴퓨터를 움직이게 하는 운영체제입니다. 운영체제는 우리가 컴퓨터를 사용할 때 필요한 기본 프로그램이라고 생각하면 됩니다. 우리가 게임, 인터넷 등과 같은 프로그램을 사용할 때, 그 모든 것들이 제대로 작동하도록 도와주는 것을 말합니다.
우분투는 " 리눅스 " 라는 특별한 종류의 운영체제입니다. 리눅스는 무료로 누구나 사용할 수 있는 운영체제입니다. 우분투는 그 중에서 사용하기 쉽게 만들어진 리눅스 운영체제 입니다.
(2) Ubuntu 화면이 뜨면, username, password 를 설정합니다.
[4] WSL2 업그레이드
(1) Linux 커널 업데이트 패키지를 다운로드 받아 설치합니다.
(2) 아래 명령어를 실행해, WSL2로 업그레이드하고, 설치 버전이 2로 뜨는지 확인합니다.
wsl --set-version Ubuntu 2
wsl -l -v
그 이후에 Docker 까지 설치해주시면 됩니다.
저는 4-2 가 명령어로 실행되지 않았고, Docker 를 깔았지만 오류 메세지가 떠서 이유를 찾아서 확인해보니,
Hyper-V -펌웨어에 가상화 사용 부분이 아니요로 되어있었기 때문이었습니다.
이러한 부분을 확인하기 위해서는
[5] msinfo32 → Hyper-V 메뉴 확인
우선 명령 프롬프트를 관리자 권한으로 실행한 후,
winver
윈도우 버전을 확인
msinfo32
msinfo32 메뉴 중 제일 하단 Hyper-V 메뉴 확인
하단 부분에서 가 Hyper-V -펌웨어에 가상화 사용 부분을 [ 아니요 ] 에서 [ 예 ] 로 변경해주어야 합니다.
하지만, 이 부분을 수정하기 위해서는 바이오스 ( BIOS ) 로 진입해주어야 했습니다.
:: BIOS 란 ? :: 컴퓨터의 가장 중요한 시작 프로그램인 BIOS 또는 기본 입출력 시스템 ( Basic Input / Output System ) 은 시스템 부팅을 담당하는 내장 코어 프로세서 소프트 웨어 입니다. 일반적으로 메인보드 칩 형태로 컴퓨터에 내장되어 있는 BIOS 는 컴퓨터 기능이 동작하는 데에 일종의 촉매제 역할을 합니다.
BIOS 는 데이터를 삭제하고 프로그래밍 할 수 있는 읽기 전용 메모리 ( EPROM ) 칩에 저장되며, 이 메모리 칩은 전원을 껐을 때 데이터를 보존하는 역할을 합니다. 전원을 다시 켜면, BIOS 가 저장된 데이터를 불러옵니다.
BIOS 시스템은 또한 컴퓨터의 운영 체제와 하드 드라이브, 키보드, 비디오 어댑터, 프린터 또는 마우스 등 컴퓨터에 연결된 장치 사이에서 데이터 흐름을 관리하는 역할을 합니다.
전원을 켤 때마다 BIOS 는 컴퓨터에 연결된 장치가 올바르게 작동하고 올바른 위치에 있는지 확인하는 POST ( Power-On Self Test ) 라는 절차를 실행합니다. 모든 연결이 제대로 할당되었고 정상적인 연결 상태가 확인되면, 컴퓨터가 평소처럼 부팅되고 몇 초 만에 기본화면으로 이동합니다. BIOS가 어떤 문제를 감지하면, 문제가 발생했음을 알리기 위해 오류 화면을 표시하거나 신호음을 냅니다.
:: BIOS에 접근하는 방법 (1) - 부팅 중 단축 키 사용하기 :: 제 컴퓨터는 ASUS 였기 때문에 부팅을 하고, F2 키를 누름으로써 접근이 가능했습니다.
:: AMD 라이젠 가상화 활성화 하기 :: [ Advanced ] → [ CPU Configuration ] → [ SVM Mode : Disabled ⇒ Enabled ] 로 설정해주면 Hyper-V - 펌웨어에 가상화 사용이 가능하게 됩니다.
다시 명령 프롬프트 ( 관리자 권한 ) 으로 접속해서
wsl -l -v
다시 입력하면, V2 로 업데이트 된 것을 확인할 수 있습니다.
[6] Windows Docker Desktop 설정
Docker 설치가 완료되었으면 마지막으로 Settings 에 들어가서 아래 그림과 같이 체크가 되어있는지 확인합니다. 체크되어 있지 않다면, 체크해주고 저장합니다.
// 참고 자료
docker.com |
https://docs.docker.com/desktop/install/windows-install/ |
docker 설치 ( windows home 버전 ) |
https://cha-coding.tistory.com/entry/Docker-윈도우10-Home-Docker-설치하기 |
윈도우 10Home - WSL2 설치 (링크 ) |
https://deepcell.co.kr/110 |
바이오스에 접근하는 법 ( 링크 ) |
https://www.hp.com/kr-ko/shop/tech-takes/post/windows-pc에서-bios-설정으로-들어가는-방법 |
라이젠으로 바이오스에 접근하는 법 ( 링크 ) |
https://rudalson.tistory.com/entry/AMD-라이젠-가상화-활성화-하기-AMD-V |