글

라벨이 auto인 게시물 표시

Git, GitHub - ID와 Token없이 git 사용하기(SSH)

이미지
1. ssh key 생성 $ ssh-keygen -t ed25519 -C "이메일 주소" 사진1) ssh key 생성 기본 경로값은 "~/.ssh/id_ed25519"를 사용한다. 2. ssh 에이전트 실행 및 키 등록 $ eval "$(ssh-agent -s)" $ ssh-add ~/.ssh/id_ed25519 사진2) 공개키 조회 위 2개의 터미널을 "~/.bashrc" 또는 "~/.zshrc"에 추가해서 재부팅 후에도 키가 등록되게 할수 있다. 3. 공개키를 GitHub에 등록 $ cat ~/.ssh/id_ed25519.pub 사진3) public key GitHub에 들어가서 Setting을 클릭한다. 사진4) Access 설정에서 "SSH and GPG keys"을 클릭한다. 사진5) SSH and GPG keys 선택 "New SSH Key"를 선택해서 터미널에서 복사한(사진3) public key를 추가한다. 사진6) public key를 넣기 생성이 정상적으로 됬으면 아래와 같이 "Authentication keys"가 추가된 것을 확인할수 있다. 다만 한번도 사용이 안되어 있어서 "Never used - Read/write"로 되어있다. 사진7) Authentication key 추가 모습 4. ssh config 설정 .ssh 폴더안에 config파일을 생성해서 아래와 같은 내용을 추가한다. Host github.com   HostName github.com   User git   IdentityFile ~/.ssh/id_ed25519   IdentitiesOnly yes 사진8) config 저장모습 이후에 권한을 위해서 아래 터미널을 실행 $ chmod 600 ~/.ssh/config 제대로 설정됬는지 아래 터미널을 실행할수 있다. $ ssh ...

Linux의 systemd 서비스로 부팅시 자동 실행하기

이미지
 해당 글은 'Docker , GitHub Action을 이용해서 EC2(AWS)에 자동 배포하기 - React사용' 글에서 추가된 내용입니다.  해당 글에서 run.sh파일을 부팅후 항상 구동하기 위해서 systemd 서비스를 사용하는 것입니다. 참고 자료 : systemctl로 실행되는 서비스 삭제하기 1. systmd 서비스 파일을 생성 - vim 에디터로 경로에 파일을 생성합니다. $ sudo vim /etc/systemd/system/github-runner.service copy 2. 아래와 같은 텍스트를 작성 [Unit] Description=GitHub Actions Runner After=network.target [Service] Type=simple User=ubuntu WorkingDirectory=/home/ubuntu/actions-runner ExecStart=/home/ubuntu/actions-runner/run.sh Restart=always [Install] WantedBy=multi-user.target 위의 내용중에서 Service의 항목 설명은 아래와 같다. Type : 서비스 타입. 위에서는 간단으로 선택 User : 해당 서비스를 사용할 유저.  WorkingDirectory : 구동 디렉토리(절대경로를 사용해야 한다.) ExecStart : sh파일을 실행할 경로(절대경로를 사용해야한다.) Restart : 시스텡이 재시작 되면 해당 서비스도 실행 될수 있도록 'always' 셋팅 3. 서비스 적용 및 활성화 이 명령어는 systemd 데몬을 다시 로드하는 데 사용됩니다. 주로 서비스 파일을 수정한 후에 실행해야 합니다. 목적 : 새로운 서비스 파일이나 변경된 서비스 파일을 systemd 데몬이 인식하도록 합니다. 상황 : 서비스 파일을 추가하거나 변경한 후에 실행합니다. 동작 : systemd 데몬은 서비스 파일을 다시 읽고, 변경된 설정을 적용합...

Bash Install NodeJS

이미지
Bash를 이용하여 NodeJS을 설치하겠습니다. #!/bin/bash # 해당 스크립트를 실행시 $ source node_install.sh # apt update sudo apt update # nodejs install echo 'install node' sudo apt install -y nodejs # download nvm echo 'download nvm' wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash # nvm의 새 인스턴스를 로드하기 위해 .bashrc를 source source ~/.bashrc # install nvm version 20.10.0 (node version이라고 가정) echo 'install nvm 20.10.0' nvm install 20.10 .0 # set default node version to 20.10.0 echo 'set nvm default version to 20.10.0' nvm alias default 20.10 .0 echo 'finish' exit 0 위와 같은 스크립트를 작성합니다. 사진1) 설치를 위해 암호 입력 이후 설치가 진행이 되고 node와 nvm이 로컬에 설치 된 것을 알수 있습니다. gitHub Link : https://github.com/Alex-Choi0/Ubuntu_node_install_bash

gitHub gitaction을 이용해서 자동 코드 테스팅(JEST) 하기

이미지
 해당 글은 NestJS(NodeJS)을 이용하여 작성되었다. 프로젝트 루트 경로에 ".github/workflows"폴더를 만든다.  "workflows" 폴더 안에 git action에서 실행할 yaml파일을 만든다. 여기서는 test_workflow.yaml파일이다. # 워크플로우의 이름을 정의합니다. GitHub Actions 로그와 UI에서 이 이름이 표시됩니다. name : NestJS application test # 이 워크플로우가 어떤 GitHub 이벤트에 의해 트리거될지 정의합니다. # 여기서는 'push' 이벤트와 'pull_request' 이벤트에 대해 워크플로우가 실행됩니다. on : [ push , pull_request ] # 워크플로우에서 실행할 작업을 정의합니다. jobs : build : # 워크플로우가 실행될 가상 환경을 지정합니다. 여기서는 Ubuntu 22.04를 사용합니다. runs-on : ubuntu-22.04 # 워크플로우에서 실행할 단계들을 정의합니다. steps : - uses : actions/checkout@v2 # 첫 번째 단계: GitHub 리포지토리를 체크아웃합니다. # 이는 워크플로우가 리포지토리의 코드에 접근할 수 있게 해줍니다. - name : Set up Node.js uses : actions/setup-node@v2 # 두 번째 단계: Node.js 환경을 설정합니다. with : node-version : '20.10.0' # Node.js의 버전을 지정합니다. # 이 예시에서는 '20.10.0' 버전을 사용합니다. - name : Install dependencies run : | ...

Docker-Compose yaml파일을 이용하여 MySQL를 Local로 구축하기 - Database, Table 자동생성

이미지
 이전글 : Docker-Compose yaml파일을 이용하여 MySQL를 Local로 구축하기 초기 Docker Container를 생성할때 초기 상태이다. 이때 미리 데이터베이스와 각각의 테이블을 생성할수 있다. 먼저 init.sql을 작성한다. 아래는 예시 sql문이다. -- Create Users table CREATE TABLE Users ( id serial PRIMARY KEY , -- 유저 고유 ID nickname VARCHAR ( 255 ) UNIQUE NOT NULL , -- 유저 닉네임 고유값 password VARCHAR ( 255 ), -- 유저의 비밀번호 socialUser BOOLEAN , -- 소셜로그인 유저이면 true 입력 socialUserType VARCHAR ( 255 ), -- 소셜로그인 타입 ex) google email VARCHAR ( 255 ) UNIQUE NOT NULL , -- 유저의 Email refrashToken VARCHAR ( 255 ) UNIQUE , -- Access 토큰을 갱신한다. created_at DATE , updated_at DATE ); -- Create Post table CREATE TABLE Post ( id serial PRIMARY KEY , type VARCHAR ( 255 ), -- 글의 타입. (공지글, 일반글). 공지글을 관리자만 작성이 가능하다. title VARCHAR ( 255 ), -- 글의 title body TEXT , -- 글의 내용 userId INT , -- 글 작성자 count INT DEFAULT 0 , -- 조회수 (초기값은 0이다) `like` INT DEFAULT 0 , -- 좋아요 `hate` INT DEFAULT 0 , -- 싫어요 created_at DATE , updated_at DATE ); -- Create...