라벨이 terminal인 게시물 표시

systemctl로 실행되는 서비스 삭제하기

이미지
  systemctl의 서비스에 문제가 생기거나 삭제해야 할 경우 아래와 같이 작업 참고 자료 :  Linux의 systemd 서비스로 부팅시 자동 실행하기 서비스 중지 $ sudo systemctl stop [서비스명].service copy 자동실행 해제 $ sudo systemctl disable [서비스명].service copy 서비스 파일 삭제 $ sudo rm /etc/systemd/system/[서비스명].service copy systemctl 리로드 $ sudo systemctl daemon-reload copy (선택사항) 상태 캐시 초기화 $ sudo systemctl reset-failed copy

AWS S3에 CI/CD(GitAction) 적용하기

이미지
 AWS의 S3에 정적 웹사이트(React)를 Build해서 올리는 방법입니다. 해당 블로그 글을 작성시 아래 글들을 참고하였습니다. https://s0ojin.tistory.com/48 참고링크 :  AWS S3에 CloudFront를 이용해서 HTTPS(SSL) 적용하기 GitAction을 이용해서 업로드 합니다. 해당 블로그 글에는 React를 이용해서 CI/CD작업을 작성하겠습니다. 1. yaml파일 작성 루트 경로에서 .github/workflows 폴더 안에 하나의 yaml(front-build.yaml)파일 하나를 생성한다. name : Front Deployment # trigger가 되길 바라는 action을 입력합니다. push / pull_request가 있습니다. # GitHub에서 직접 실행할려면 workflow_dispatch를 사용한다. # 저는 develop 브랜치에 push가 되면 actions을 실행하도록 설정했습니다. # S3에 배포하기 위해서 아래와 같은 Secreat이 설정되어야 합니다. # secrets.AWS_S3_ACCESS_KEY_ID : IAM AWS Access Key # secrets.AWS_S3_SECRET_ACCESS_KEY_ID : IAM AWS Secret ACCESS Key # secrets.AWS_S3_BUCKET_NAME : S3 Bucket Name on : workflow_dispatch # 위의 이벤트가 트리거되면 실행할 목록입니다. jobs : build : name : react build & deploy # runner가 실행될 환경을 지정합니다. runs-on : ubuntu-latest # name은 단계별로 실행되는 액션들의 설명을 담은 것으로, 나중에 github action에서 workflow에 표시됩니다. # uses 키워드로 Action을 불러올 수 있습니다. steps : # 레포지토리에 접근하...

Docker , GitHub Action을 이용해서 EC2(AWS)에 자동 배포(docker hub)하기 - React사용

이미지
 이번 글에서는 Docker와 GitHub Action을 이용해서 CI/CD를 구현하도록 하겠습니다. AWS의 EC2에 자동 배포하도록 블로그 글을 작성하겠습니다. 1. 우선사항 1) Push를 할 GitHub 저장소 생성( 링크 ) - private 2) GitHub Token 생성 - classic 방법으로 생성 - repo, workflow, write:packages, delete:packages가 선택 되어 있어야 한다. 3) AWS 계정 4) 개발 PC에 Docker가 설치 되어 있어야 한다.( Linux Link ,  Window Link ) 5) docker hub 계정(DOCKER_USERNAME) 및 비밀번호(DOCKER_PASSWORD) 대용으로 사용할 token - 만약 다수의 private repository를 운영할려면 해당 링크 를 통해 유료 결제를 해야한다. 위 우선사항이 모두 되었으면 아래는 나의 로컬 환경이다. OS : macOS Ventura 13.6.1 Docker Version : 24.0.7 Node Version : 20.10.0 1. React Project를 생성한다. ( 링크 ) 2. GitHub Repository와 연동 git init git add . git commit -m "first commit" git branch -M master git remote add origin https://github.com/Alex-Choi0/CICD-EC2-Docker.git git push -u origin master 3. Dockerfile 생성 및 테스트 1) Dockerfile 생성 FROM node:20.10.0 # 경로 설정하기 WORKDIR /app # package.json 워킹 디렉토리에 복사 (.은 설정한 워킹 디렉토리를 뜻함) COPY package.json . # 명령어 실행 (의존성 설치) RUN npm install # 현재 디렉토리의 모든 파일을 도커 컨테이너의 디렉토리에 ...

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 데몬은 서비스 파일을 다시 읽고, 변경된 설정을 적용합...

Docker , GitHub Action을 이용해서 EC2(AWS)에 자동 배포하기 - React사용

이미지
이번 글에서는 Docker와 GitHub Action을 이용해서 CI/CD를 구현하도록 하겠습니다. AWS의 EC2에 자동 배포하도록 블로그 글을 작성하겠습니다. 1. 우선사항 1) Push를 할 GitHub 저장소 생성( 링크 ) - private 2) GitHub Token 생성 - classic 방법으로 생성 - repo, workflow, write:packages, delete:packages가 선택 되어 있어야 한다. 3) AWS 계정 4) 개발 PC에 Docker가 설치 되어 있어야 한다.( Linux Link , Window Link ) 위 우선사항이 모두 되었으면 아래는 나의 로컬 환경이다. OS : macOS Ventura 13.6.1 Docker Version : 24.0.7 Node Version : 20.10.0 1. React Project를 생성한다. ( 링크 ) 2. GitHub Repository와 연동 git init git add . git commit -m "first commit" git branch -M master git remote add origin https://github.com/Alex-Choi0/CICD-EC2-Docker.git git push -u origin master 3. Dockerfile 생성 및 테스트 1) Dockerfile 생성 FROM node:20.10.0 # 경로 설정하기 WORKDIR /app # package.json 워킹 디렉토리에 복사 (.은 설정한 워킹 디렉토리를 뜻함) COPY package.json . # 명령어 실행 (의존성 설치) RUN npm install # 현재 디렉토리의 모든 파일을 도커 컨테이너의 디렉토리에 복사한다. COPY . . # 3000번 포트 노출. 실제로는 표시만 해준다. EXPOSE 3000 # npm start 스크립트 실행 CMD ["npm", "start...

Linux(Ubuntu) Check your computer resource status or components model

이미지
Basic Provide by Ubuntu(Linux) Check Your computer resource status(pre-installed) $ top copy Check Your computer resource status(need to install) $ htop copy check my Linux ip $ curl https://ipinfo.io/ip copy check ubuntu(linux) version $ lsb_release -a copy check cpu model by using Ubuntu $ lscpu copy

Linux Ubuntu 터미널로 외부 ssh 접속 허용하기(Local Check)

이미지
  1. Local PC가 ssh 접속이 되는지 확인하기 $ ssh localhost copy 2. OpenSSH을 설치한다. $ sudo apt-get install openssh-server ii. copy 해당 apt는 설치작업이 오래 걸립니다. 3. ssh service의 상태를 확인한다. $ sudo service ssh status copy 4. 다시 1번 커멘드를 입력해서 ssh localhost가 되는지 확인한다 5. ufw 22번 포트를 외부에서 접속 가능하게 한다. $ sudo ufw allow 22/tcp 다음은 해당 허브를 통해서 외부에서도 접속 가능하게 해야 합니다. 아래 링크를 참고해 주시기 바랍니다. 링크1 : Ubuntu 외부 ssh접속 가능하게 변경(iptime)

docker sudo없이 사용하는 방법

이미지
docker를 설치하다 보면 'sudo'를 사용하지 않고서는 진행할수 없는 경우가 있습니다. 1. docker를 sudo그룹에 넣기 $ sudo groupadd docker copy 먼저 sudo그룹에 docker를 넣습니다. 어떠한 경우에는 이미 존재할수 있습니다. 2. 다음단계 진행 $ sudo usermod -aG docker $USER copy $ newgrp docker copy 이후 PC를 재부팅한다. sudo없이 docker를 사용할수 있다는 것을 확인할수 있다.

Linux Ubuntu set terminal alias

이미지
  1. save alias for temporary $ alias [key] = [commend String] copy 2. save alias in '.bash_aliases' 1). open ~/.bash_aliases If it doesn't exist, create one. $ vim ~/.bash_aliases copy 2) write alias key and value you want and save it 3) save alias for permanently $ source ~/.bash_aliases copy

GCP How to access GCP VM instance using Linux(Ubuntu) terminal by SSH

이미지
  1. Create ssh keys(public, private) $ ssh-keygen -t rsa -f ~/.ssh/[key name] -C [account name] -b 2048 copy example  : ssh-keygen -t rsa -f ~/.ssh/test -C alex -b 2048 2. Copy ssh keys(public) $ cat ~/.ssh/[key name].pub copy example : cat ~/.ssh/test.pub 3. Regist your key to your instance 4. Access to your VM Instance by your Linux terminal $ ssh -i [key file path] [account name]@[instance external IP address] copy example : ssh -i ~/.ssh/test.pub alex@1.23.45.67 reference link : https://cloud.google.com/compute/docs/instances/connecting-advanced#thirdpartytools