์ด๋ฒˆ ์ฑ•ํ„ฐ ์—์„œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์‹ค์Šตํ•˜๊ธฐ ์œ„ํ•ด ๋‚ด ์ปดํ“จํ„ฐ์— ์ตœ์†Œํ•œ์˜ ํ•„์ˆ˜ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
์‹ค์Šต์„ ์œ„ํ•œ ํ•„์ˆ˜ ์„ค์น˜ ๋ชฉ๋ก์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • Visual Studio Code
  • Github ํด๋ผ์ด์–ธํŠธ
  • ์ปจํ…Œ์ด๋„ˆ ๋Ÿฐํƒ€์ž„
  • IDE ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰

์ปจํ…Œ์ด๋„ˆ ์ •๋ฆฌํ•˜๊ณ  ์‹œ์ž‘ํ•˜๊ธฐ

    / [pdf]



1. ๋กœ์ปฌ ๊ฐœ๋ฐœ๋„๊ตฌ ์„ค์น˜ํ•˜๊ธฐ

- Visual Studio Code ์„ค์น˜

Visual Studio Code Download

- Git ์„ค์น˜

Git Download

- Github ํด๋ผ์ด์–ธํŠธ ์„ค์น˜

  • CLI ์ด์šฉํ•œ ์„ค์น˜
  # Mac OS
brew install gh
sudo port install gh

# Windows
choco install gh
winget install --id GitHub.cli
  
  • ์ธ์Šคํ†จ๋Ÿฌ๋ฅผ ์ด์šฉํ•œ ์„ค์น˜
    ์ธ์Šคํ†จ๋Ÿฌ๋ฅผ ์ด์šฉํ•œ ์„ค์น˜ํŒŒ์ผ์€ : https://github.com/cli/cli/releases/ ์—์„œ ๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅ
  • gh cli ์ธ์ฆํ•˜๊ธฐ
  gh auth login

# ์ธ์ฆ ๊ณผ์ •์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

# Where do you use GitHub? GitHub.com ์„ ํƒ โฎ
# What is your preferred protocol for Git operations on this host? HTTPS ์„ ํƒ โฎ
# Authenticate Git with your GitHub credentials? (Y/n) Y ์„ ํƒ โฎ
# Login with a web browser โฎ
# First copy your one-time code: XXXX-XXXX (์ฝ”๋“œ๋ฅผ ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌ)
# https://github.com/login/device ์— ์ ‘์†ํ•˜์—ฌ ์ฝ”๋“œ ์ž…๋ ฅ ํ›„ ์ธ์ฆ
  

- ์ปจํ…Œ์ด๋„ˆ ๋Ÿฐํƒ€์ž„ ์„ค์น˜

  1. ๋„์ปค ๋ฐ์Šคํฌํƒ‘

    Docker Desktop Download

  2. Podman Desktop

    Podman Desktop Download

2. ์›น IDE ํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐ

- Git ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ํฌํฌ ๋ฐ ํด๋ก 

    
# ์ง์ ‘ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋ฐฉ๋ฌธํ•ด์„œ ํฌํฌ ํ•˜๊ธฐ์œ„ํ•œ URL  (https://github.com/dangtong76/devops-cicd)
# gh ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด์„œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ํฌํฌ ํ•˜๊ธฐ
gh repo fork --clone=true https://github.com/dangtong76/devops-cicd.git
  

- ๋„์ปค๋ณผ๋ฅจ ์ƒ์„ฑ

  # ๋„์ปค๋ณผ๋ฅจ ์ƒ์„ฑ
docker volume create devops-cicd-apps
# ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ ์ง€์ •
# docker volume create --opt device="<your-home-directory>\CICD\devops-cicd\ide\local-storage\devops-cicd-apps" --opt o=bind --opt type=none devops-cicd-apps

docker volume create devops-cicd-vscode
# ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ ์ง€์ •
# docker volume create --opt device="<your-home-directory>\CICD\devops-cicd\ide\local-storage\devops-cicd-vscode" --opt o=bind --opt type=none devops-cicd-vscode

# ๋ณผ๋ฅจ ์ƒ์„ฑ ํ™•์ธ
docker volume ls
docker inspect devops-cicd-apps
docker inspect devops-cicd-vscode
  

- ๋„์ปค hub ๊ณ„์ • ๊ฐ€์ž…ํ•˜๊ณ  IDE ์ด๋ฏธ์ง€ ๋นŒ๋“œํ•˜๊ธฐ (์„ ํƒ์‚ฌํ•ญ)

Docker Hub ๊ณ„์ • ๊ฐ€์ž…ํ•˜๊ธฐ

  # Docker Hub ๋กœ๊ทธ์ธ
docker login --username dangtong76

# ์ด๋ฏธ์ง€ ๋นŒ๋“œ
docker build -t <your-dockerhub-id>/cloud-cicd-ide:latest .

# ํ”Œ๋žซํผ ๋ณ„ ์ด๋ฏธ์ง€ ๋นŒ๋“œ (์˜ต์…”๋„)
docker buildx build  --platform linux/amd64,linux/arm64  -t <your-dockerhub-id>/cloud-cicd-ide --push .

# ์ด๋ฏธ์ง€ ํ‘ธ์‹œ
docker push <your-dockerhub-id>/cloud-cicd-ide:latest
  

- Docker Compose ์ด์šฉํ•œ IDE ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰

  # ๋„์ปค ์ปดํฌ์ฆˆ ํŒŒ์ผ ์‹คํ–‰
docker compose up -d
  

- IDE ์ ‘์†ํ•˜๊ธฐ

http://localhost:8444 ์— ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค.

- Visual Studio Code Extension ์„ค์น˜

  • Thunder client : REST API ์šฉ
  • Github ๊ด€๋ จ
    • Github
    • Github Actions
    • Github Pull Requests
  • JAVA ๊ด€๋ จ
    • Debugger for Java
    • Gradle for Java
    • Spring Boot Extension Pack
  • HashiCorp Terraform

- Indent ์„ค์ •ํ•˜๊ธฐ

VSCode ์—์„œ Manage () โ†’ settings โ†’ editor.tab ์œผ๋กœ ๊ฒ€์ƒ‰ํ•ด์„œ โ†’ Editor: Tab Size ๋ฅผ 2๋กœ ์„ค์ •

3. ์›น IDE ํด๋” ๊ตฌ์กฐ

  devops-cicd-apps/
โ”œโ”€โ”€ infra/
โ”‚   โ”œโ”€โ”€ cwave-aws-eks/
โ”‚   โ””โ”€โ”€ cwave-local-k8s/
โ”œโ”€โ”€ labs/
โ””โ”€โ”€ .gitignore
  

4. ์›น IDE ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์„ฑ๋„

์•„๋ž˜๋Š” IDE ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ์Šฌ๋ผ์ด๋“œ ์ž…๋‹ˆ๋‹ค.

    / [pdf]