일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- JavaScript
- docker swarm
- optional chaining
- 옵셔널 체이닝
- 비구조화 할당
- docker
- transit gateway
- null 병합 연산자
- On-Premise
- vgw
- Site-to-Site VPN
- cognito
- VPC
- elasticsearch
- Await
- Service
- CloudFormation
- 구조분해 할당
- DynamoDB
- grafana
- 단축 평가
- api gateway
- Kubernetes
- prometheus
- AWS
- Proxy Resource
- Custom Resource
- 온프레미스
- 자바스크립트
- Endpoints
- Today
- Total
만자의 개발일지
[Dagger] Dagger 설치 및 시작하기 본문
이번 포스팅은 아래 Dagger 공식 문서를 참고하여 진행하였습니다.
필자의 개발 환경이 윈도우이기 때문에 윈도우를 기준으로 진행하였습니다.
다른 운영체제의 경우 아래 공식문서를 참고해 주시길 바랍니다.
https://docs.dagger.io/1200/local-dev
Dagger 설치
먼저 터미널을 열어 다음과 같이 명령어를 입력하여 Dagger를 설치해 줍니다.
curl https://dl.dagger.io/dagger/install.ps1 -OutFile install.ps1
./install.ps1
rm install.ps1
그 다음 dagger 명령어를 사용할 수 있도록 환경변수를 설정해줘야 합니다.
설치가 완료되었다면 파일 탐색기를 열어 dagger.exe파일을 찾습니다.
필자의 경우 환경 변수 설정을 통합(?)하기 위해서 dagger.exe 파일을 "C:\Program Files\Dagger\bin" 폴더 안으로 옮겨 주었습니다.
그 다음 환경 변수 설정에서 시스템 변수 -> Path 에 dagger.exe 파일이 들어있는 폴더의 경로를 추가해 줍니다.
모든 설정이 끝났습니다.
이제 터미널을 열어 dagger version 명령어를 입력하여 Dagger가 잘 설치되었는지 확인해줍니다.
$ dagger version
dagger 0.2.4 (b32c8732) windows/amd64
Dagger 시작하기
Dagger를 사용할 준비를 마쳤으니 이제 Dagger의 사용법에대해 간단한 맛보기(?)를 진행하도록 하겠습니다.
Dagger는 도커 컨테이너위에서 실행되기 때문에 Dagger를 사용하기 위해서는 도커가 설치되있어야 합니다.
예제는 공식문서에서 제공하는 깃허브 레포지토리를 클론하여 진행하였습니다.
다음과 같이 명령어를 입력하여 레포지토리를 클론한 후 해당 경로로 이동해줍니다.
$ git clone https://github.com/dagger/dagger
$ cd dagger
$ git checkout v0.2.4
$ cd pkg/universe.dagger.io/examples/todoapp
package.json과 todoapp.cue를 확인해보니 React로 만든 어플리케이션을 빌드하여 Netflify로 배포하는 예제인거 같습니다.
이제 dagger do build 명령어를 입력하여 파이프라인을 실행해보도록 하겠습니다.
..!
dagger 패키지를 불러올 수 없다는군요..
dagger project update 명령어를 사용하여 의존성을 설치해줍니다.
참고로 여기서 말하는 의존성은 package.json의 의존성이 아니라 .cue 파일에 import 되어있는 의존성입니다.
$ dagger project update
Usage:
dagger project [command]
Available Commands:
init Initialize a new empty project
update Download and install dependencies
의존성도 설치했으니 다시 dagger do build 명령어를 실행해 줍니다.
$ dagger do build
nodemodules 폴더를 찾을 수 없다고 하네요..
npm install 명령어로 어플리케이션 의존성을 설치해 줍니다.
$ npm install
그리고 다시 dagger do build 명령어를 실행해 주면 _build 폴더가 생성되고 Dagger 파이프라인의 실행 과정을 로컬에서 확인할 수 있습니다.
docker ps 명령어로 현재 실행되고 있는 컨테이너의 목록을 확인해보면 dagger-buildkitd 라는 이름의 컨테이너가 실행되고 있는 것을 보실 수 있습니다.
Dagger 파이프라인은 도커가 호환되는 런타임환경만 갖춰져 있다면 언제든지 실행할 수 있다고 합니다.
Dagger를 사용하면 개발환경과 CI환경을 통합할 수 있고, 파이프라인을 로컬에서 테스트 및 디버깅 까지 할 수 있다는 장점이 있습니다.
또한 설정에 관한 에러가 발생했을 시 정적 타입 체킹을 통해 몇초만에 에러를 잡아낼 수 있다고 합니다.
이렇게 새로운 데브옵스 플랫폼인 Dagger를 설치해보고 실습까지 해보았습니다.
앞으로 CI/CD가 어떻게 변화할지 많이 기대되는군요..
'CICD > Dagger' 카테고리의 다른 글
[Dagger] Dagger란? (0) | 2022.04.01 |
---|