본문 바로가기

DevOps/CI_CD10

DevOps) CI/CD 구현하기 Jenkins(젠킨스) 자동 베포 구현하기 (10) 이전 실습을 통해 Docker에 Node.js로 구축한 백엔드 서버를 이미지로 만들어 서버에 베포 했습니다. 하지만, 코드가 수정됬을 때, 자동으로 합쳐지고, 다시 베포되는 과정이 아직 불편하기에, 이를 자동으로 해주는 Jenkins를 구현해보겠습니다. (1) /home/ubuntu sudo docker pull jenkins/jenkins Docker Hub에는 Jenkins 이미지가 저장되어 있어서, pull 명령어를 통해 가져와 설치 할 수 있습니다. docker run -d -p 8080:8080 -v /home/jenkins:/var/jenkins_home --name jm_jenkins -v /var/run/docker.sock:/var/run/docker.sock -u root jenkins.. 2022. 4. 18.
DevOps) CI/CD 구현하기 AWS RDS MySQL와 Node.js 연동하기 후 도커 이미지 만들기 (9) 전 실습 때, AWS RDS 서비스를 통해 MySQL DB를 새로 만들었습니다. 이번 실습의 백엔드는 Node.js를 이용하기로 했으니, Node.js와 DB를 연동한 후, Docker로 이미지를 만들어 베포해보겠습니다. Node.js와 MySQL 연동은 시퀄라이즈(sequelize)를 이용하여 연동시켜보겠습니다. (1) npm i express sequelize sequelize-cli mysql2 npx sequelize init 먼저 mysql 패키지 설치 후 사진처럼 템플릿을 만들어 진행하겠습니다. ※ 본 실습은 Node.js 실습이 아닌 서버 구축 실습이기에, 설명없이 진행하며, 백엔드 코드는 더미코드로 간단하게만 이용할 수 있는 내용을 넣었습니다. app.js ▼ 코드 복사 보기 더보기 con.. 2022. 4. 15.
DevOps) CI/CD 구현하기 AWS RDS로 MYSQL 구축하기 (8) 원래는 Docker에 MySQL 이미지를 사용하려고 했는데, 실습을 진행하던 중, AWS RDS를 알게 되었습니다. 기존의 서버에 DB를 구축하는 방식이 아닌 AWS에서 DB 전용 서버를 제공해주는 서비스입니다. 이 방법의 장점은, 서버가 샷다운되거나, 리셋이되면, 서버에 구축되어 있는 DB의 데이터 또한 전부 리셋됩니다. 그 외에, 서버를 옮겨야 하는 경우, 다량의 데이터를 다른 서버로 옮기기엔 시간과 비용이 많이 들기에, RDS는 이런 부분을 해결해 주기 위해 DB를 위한 서버를 제공하는 AWS의 서비스중 하나입니다. (1) AWS 검색창에 RDS 입력후 해당 서비스에 접속해주세요. "데이터베이스 생성"을 눌러 RDS DB를 만들어주세요. (2) 설정 과정은 사진 순서대로 눌러주세요. DB인스턴스 식.. 2022. 4. 14.
DevOps) CI/CD 구현하기 Docker에 MySQL 설치하기 (7) 이번에는 Docker에 MySQL을 설치해 보고 MySQL Workbench와 연결해보겠습니다. 사실 DB는 Docker과 잘 연결하지 않습니다. 그 이유는 컨테이너를 쉽게 삭제하고 이미지를 쉽게 내릴 수 있기 때문에, 실수로 DB가 실행중인 컨테이너를 없애기라도 하면, 기존의 데이터가 전부 없어지기 때문입니다. Ubuntu 서버에 직업 MYSQL을 설치하고 싶으신분은, 해당 내용을 구굴해보시면 쉽게 찾을 수 있습니다. 저는 이번에 Docker를 이용해서 하는 방법을 실습해보겠습니다. docker ps -a // 실행중인 컨테이너 전부 삭제 docker rm -f `docker ps -a -q` docker images // 실행중인 이미지 전부 삭제 docker rmi -f `docker images`.. 2022. 4. 14.
DevOps) CI/CD 구현하기 Docker에 Node 설치 (6) 저번 시간에는 구축했던 우분트 서버에 도커를 설치 했습니다. 이번에는 노드로 하여금 웹 애플리케이션을 만들고, 그거를 도커 이미지로 만들고, 컨테이너로 실행하는 과정을 해보겠습니다. 먼저 쥬피터로 접속하여 /home/ubuntu/ 폴더 위치에 nodeExample 폴더를 만들겠습니다. 여기에 Dockconfig(도커 환경 설정파일)과 Node.js app.js를 넣어두겠습니다. const express = require("express"); const app = express(); app.set("port", process.env.PORT || 3000); app.use('/',(req,res,next) => { res.send('hello express!!') }) app.listen(app.get(".. 2022. 4. 14.
DevOps) CI/CD 구현하기 우분투에 Docker(도커) 설치 (5) 저번 시간에 구축한 우분투 서버에 Jupyter를 포트 8888에 구동시킴으로써, 터미널에 따로 접속하지 않고, 쥬피터를 통해 서버로 쉽게 접근 할 수 있게 만들어 놨습니다. 지금부터는 터미널이 아닌, 쥬피터를 통해 서버에 접근하여 서비스를 구축해보겠습니다. 이번 시간은 도커를 Ubuntu서버에 설치하겠습니다. ※ 사진을 옮기면서 화질이 깨진거 같습니다.. 클릭하면 큰화면으로 볼 수 있고 , 아래 필요한 코드를 적어 놨습니다. df -h // 현재 서버 메모리 및 용량 상태 // 순서대로 진행 sudo apt update sudo apt install apt-transport-https sudo apt install ca-certificates sudo apt install curl sudo apt in.. 2022. 4. 14.
DevOps) CI/CD 구현하기 우분투 서버 HTTPS 설정 (4) 저번 시간에 실습했던 주피터의 주소는 현재 HTTP에 구축되어 있습니다. 저는 나중에 DB와도 연결을 할거고, 데이터를 외부로 유출되면 안되니, HTTPS로 설정을 바꾸겠습니다. HTTPS와 HTTP의 차이는 안전성의 차이입니다. HTTPS 란? https://borntodevelop.tistory.com/24 IT 지식) HTTPS란 ? /키 페어/대칭키/비대칭키(=공개키)/CA 우리가 아는 주소의 형태는 흔히 "https://www.naver.com/" 이렇게 생겼습니다. 맨 앞에 https:// 라고 붙어있는 문자의 의미는 뭘까요? HTTPS란? Hyper Text Transfer Protocol Secure 라는 뜻으로, 마지막 Secu.. borntodevelop.tistory.com HTTPS.. 2022. 4. 13.
[CI/CD] CI/CD 구현하기 jupyter 구동 시스템 (3) 저번 시간에는 AWS 의 Ubunto서버를 구축했습니다. 현재 우분투에 접속 하기 위해선, 키 페어를 가지고 있는 PC에서만 접속이 가능하며, 터미널이 있는 곳에서 ssh를 통해 접속할수 있습니다. Jupyter에는 웹에서도 터미널을 사용 할 수 있는 기능이 있습니다. 그리고, 비밀번호를 통해 웹페이지에 접근 할 수 있도록 웹서버를 만들 수 있습니다. 더 이상 키페어가 없어도, 설정한 비밀번호로 내 우분투 서버로 접속 할 수 있습니다. 먼저 내 우분투 서버에 접속 해주세요. 위 사진 처럼 내 키페어가 있는 폴더에서 코드를 실행 시켜줍니다. sudo apt-get update 접속 후, 위 코드를 입력하여 우분투 패키지 툴을 다운 받아주세요. apt-get(Advanced Packaging Tool)은 우.. 2022. 4. 13.
[CI/CD] CI/CD 구현하기 AWS Ubuntu 서버 구축 (2) CI/CD 구현하기의 처음은 실제 코드가 베포 될 수 있는 서버를 구축해 보겠습니다. AWS의 우분투(Ubuntu)를 사용하기로 했고, AWS 처음 서버를 만들면 1년 무료로 서비스를 이용해 볼수 있는 프리 티어 등급 서버를 이용 해보겠습니다. (1) 인스턴스 & 키 페어 만들기 AWS 회원에 가입하면, 1년정도 서버를 사용할 수 있는 프리티어 등급이 부여됩니다. 검색창에 "EC2"를 검색 후, 위 사진 처럼 "인스턴스 시작"을 눌러, 서버를 생성해보겠습니다. 서버의 종류는 다양합니다. 그 중, 저희는 프리티어 등급을 지원해주고, 용량과 메모리, 성능도 나쁘지 않고, 사용법도 나름 편한 우분투를 사용하겠습니다. 위 사진 처럼 "Ubunto Server 18.04 LTS (HVM), SSD Volume T.. 2022. 4. 11.
반응형