DE7 최종 팀 프로젝트 환경 설정 연습한 내용 정리
Amazon Linux 2023 사용
.env 파일 생성
.env 파일을 프로젝트 폴더 바깥에 만들고, 자동 배포 될때마다 복사하게 함 (deploy.yml) (sample.env)
# .env 파일 생성
$ vi /home/ec2-user/.env
# (선택) 보안을 위해 권한 변경
$ chmod 600 /home/ec2-user/.env
1. Docker
'settingTest'를 실제 serviceName 으로 변경해서 사용할 것
1.1. 서비스 파일 생성
# 도커 경로 확인
$ which docker
$ which docker-compose
# 파일 생성
$ sudo vi /etc/systemd/system/settingTest.service
# settingTest.service 내용
[Unit]
Description=SettingTest Docker Compose Stack
Requires=docker.service
After=docker.service network-online.target
Wants=network-online.target
[Service]
User=ec2-user
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/home/ec2-user/settingTest
ExecStartPre=/bin/bash -c "if [ -f /home/ec2-user/.env ]; then cp /home/ec2-user/.env /home/ec2-user/settingTest/.env; fi"
ExecStartPre=/bin/bash -c "/usr/bin/docker compose down || true"
ExecStart=/bin/bash -c "/usr/bin/docker compose up -d"
ExecStop=/bin/bash -c "/usr/bin/docker compose down"
TimeoutStartSec=0
Restart=no
[Install]
WantedBy=multi-user.target
1.2. systemd 등록 및 활성화
$ sudo systemctl daemon-reload
$ sudo systemctl enable settingTest
$ sudo systemctl start settingTest
$ sudo systemctl status settingTest
2. Github Actions Runner
2.1. 서비스 상태 확인
$ sudo systemctl status actions.runner.*
서비스가 없으면 다음 단계 진행
2.2. 서비스 이름 확인
$ systemctl list-units | grep runner
2.2. 서비스 설정 및 실행
위에서 확인한 이름 넣기
$ sudo systemctl enable actions.runner.<org>-<repo>.<runnerName>.service
$ sudo systemctl start actions.runner.<org>-<repo>.<runnerName>.service
$ sudo systemctl status actions.runner.<org>-<repo>.<runnerName>.service
전체 흐름도
1. EC2 시작
↓
2. systemd가 서비스 자동 시작
├─ docker.service 시작
├─ settingTest.service 시작 (기존 코드로 실행)
└─ actions.runner.*.service 시작
↓
3. GitHub Actions runner 연결
↓
4. 대기 중이던 workflow 실행
↓
5. 최신 코드로 재배포
↓
6. 최종 상태: 최신 커밋으로 업데이트 완료'DevOps > AWS' 카테고리의 다른 글
| EC2 Bastion Host 연습 기록 (0) | 2025.12.15 |
|---|---|
| EC2에 CI/CD 설정 (0) | 2025.12.11 |
| EC2에 Git, Docker 설치 (0) | 2025.12.11 |
| AWS 서비스 정리 (0) | 2025.10.17 |
| [AWS] RDS Instance 생성하기 (0) | 2018.03.25 |