CICD 구축시
특정 브랜치가 PR 후 merge가 되거나
push가 될 때
운영서버에 바로 적용을 시키려면 다음과 같은 방법이 있다.
1. github runner에서 ssh 연결 후 build 시키기
2. github runner를 사용하지 않고 운영서버에 자체 runner 깔기
이번에는 자체 runner 생성을 해본다.
github 레포에서 settings > actions > runner 들어가기
1. 로컬에서 돌릴 OS를 선택한다.
2. Download의 명령어를 터미널을 킨 후 순서대로 진행하면 된다.
3. Configure도 순서대로 진행한다.
성공적으로 마쳤다면 위와 같은 사진이 나온다.
local runner를 수신상태로 바꿔놓기
runner를 설치한 디렉토리에서
터미널을 열고 다음과 같은 명령어를 실행하여 수신상태로 해놔야된다.
./run.sh
github repository > settings > runner 러너상태 확인하기
잘 켜져있는 걸 확인할 수 있다.
CI 잡이 있는 yml을 추가해보자
github에서 직접 파일을 추가해서 작성해도 되고
local repository에서 수정 후 push 하는 방법으로 해도 된다.
name: test-myrunner
on:
workflow_dispatch
jobs:
test-myrunner-job:
runs-on: self-hosted
steps:
- name: move home directory
run: cd ~
- name: check directory list
run: ls
해당 action 테스트는
내 로컬 컴퓨터의 홈 디렉토리의 디렉토리 리스트와
같은지 확인해보는 간단한 테스트다.
작성을 다하면 푸시를 하면 됨
actions > jobs 돌려보기
위 사진처럼 workflow를 실행해보자
잠깐 기다리면
실행중인 workflow가 나타날 것이다.
해당 workflow를 클릭해 들어가보자
workflow는
success가 났지만
명령어의 출력값이 안나온다.
해당 내용은 다시 한번 확인해봐야된다.
마무리
github repository에서
특정 브랜치에 push를 할 때
내 컴퓨터에 특정 로그를 기록해 저장하거나
내 컴퓨터가 아닌 운영 서버 컴퓨터에 build를 시켜 자동배포를 한다거나
다양한 작업을 할 수 있다.
다음 포스팅에서는
운영서버 우분투 os에다가
push 혹은 merge 될 때마다 자동배포하는
github action을 구성해보겠다.
'서버' 카테고리의 다른 글
Springboot - record 사용해보기 (0) | 2024.08.22 |
---|---|
Springboot - Spring Context 다루기 (0) | 2024.08.22 |
Spring boot) security모듈 있을 때와 없을 때 config처리방식(cors, csrf) (0) | 2024.08.15 |
vscode에서 패키지 있는데 못 찾고 import 에러나는 현상 (java boot ) (0) | 2024.06.25 |
mac m1에서 mariadb 재설치 (0) | 2024.06.25 |