[github-action] 깃헙액션 ci/cd 배포하기

Glen(OH TaekJoo)·2023년 8월 1일
0

Study

목록 보기
30/53
post-thumbnail

네이버 클라우드에서 생성한 서버에 프로젝트 ci/cd 환경으로 배포하기

서버 ssh 터미널 접속

터미어스(or moba)를 이용해 해당 서버의 터미널로 접속을 한다.

배포도구 다운로드

epel-release / docker / mariaDB

// yum 업데이트

yum install epel-release -y
yum update -y

//도커 설치

  • Set up the repository
yum install -y yum-utils
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
  • Install Docker Engine
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  • 도커 시작
systemctl start docker
  • 도커 활성화
systemctl enable docker

// 컨테이너 실행 (mariaDB)

docker run \
  --name mariadb_1 \
  -d \
  --restart unless-stopped \
  -e MARIADB_ROOT_PASSWORD=root123414 \
  -e TZ=Asia/Seoul \
  -p 3306:3306 \
  -v /docker_projects/mariadb_1/conf.d:/etc/mysql/conf.d \
  -v /docker_projects/mariadb_1/mysql:/var/lib/mysql \
  -v /docker_projects/mariadb_1/run/mysqld:/run/mysqld/ \
  mariadb:latest

mariaDB 보안 권한설정 / 깃헙토큰 /깃헙플로우

보안상 해당 설정은 비공개로 포스팅.

https://velog.io/@ohtj6644/%EA%B9%83%ED%97%88%EB%B8%8C%EC%95%A1%EC%85%98-%EB%B3%B4%EC%95%88%EC%84%A4%EC%A0%95-%EB%B3%B4%EC%95%88%EC%84%A4%EC%A0%95-%EB%B0%A9%EB%B2%95-%EB%B0%8F-%EC%84%A4%EC%A0%95%ED%8C%8C%EC%9D%BC

깃헙에서 러너 생성

깃헙 레포지토리 > 셋팅 > 액션 > 러너 > 리눅스

나오는 명령문을 실행하고 오류가 날경우 아래 유틸 다운로드

깃헙액션 오류 해결을 위한 유틸 다운로드

shasum 설치

-shasum은 SHA 메시지 다이제스트, 암호화 체크섬 또는 암호화 해시코드를 계산하는 데 사용됩니다.
#Reference : https://linuxhint.com/shasum-linux/

yum install perl-Digest-SHA -y

환경변수 설정

-GitHub action 은 기본적으로 루트 권한으로 실행되지 않도록 설계
-환경 변수 설정을 통해 루트 권한으로 실행할 수 있도록 허용해주면 원하는 작업을 성공할

export RUNNER_ALLOW_RUNASROOT="1"

Dotnet 6.0 설치

-닷넷 종속성 누락 설치
-아래의 명령어로 누락된 종속성을 설치할 수 있다.

./bin/installdependencies.sh

러너 실행

Enter the name of the runner group to add this runner to : #엔터
Enter the name of runner : #엔터
Enter any additional label : work-1 #워크플로우에 작성했던 라벨명
Enter name of work folder : #엔터

-완료 후 ./run.sh를 백그라운드로 실행

nohup ./run.sh &

실행 완료 / 오류 해결로그

완료 시 아래처럼 main branch에 git push를 할경우 자동으로 반영되어 재배포 된다.

도커이미지 빌드와 푸시 시 403오류: 권한설정 문제로 토큰설정이 잘못되어 발생하였다.
워크플로우의 yml파일 안에 토큰파일명이 잘못되어 해당내용 수정 후 해결

도커배포 시 무한대기 : 설정한 워크플로우 이름과 yml의 워크플로우 이름이 상이해 발생하였다. yml 워크플로우 이름 변경 후 해결

profile
병아리 개발자 의 우당탕탕 성장기

0개의 댓글