Infra 35

[Jenkins] Jenkins, Github 연동 → branch merge 후 Jenkins 자동 빌드

깃허브와 Jenkins 를 연동해보자,, 웹 훅킹으로 merge 시 자동 빌드까지..! ===== Jenkins 간단 CI/CD 구축해보기 Series. ===== ✔️ [Jenkins 설치 및 사용 가이드] ec2 가 계속 죽음 → 빌드 자동화 개선 (with 프리티어에서 젠킨스 사용하기) ✔️ [Jenkins] 젠킨스 Job과 Pipeline 이란 ? 👉🏻 [Jenkins] Jenkins, Github 연동 → branch merge 후 Jenkins 자동 빌드 ✔️ [AWS] 프리티어에서 Jenkins 사용하기 (With. Swap 메모리 사용하기) ✔️ [Jenkins] 젠킨스 빌드 후 EC2 배포 하기 - Publish Over SSH 이전에 bitbucket 과 jenkins 의 웹훅을 이용..

Infra/CI, CD 2023.04.03

탄력적 IP 란 - 왜 사용하고, 어떻게 써야할까 ❓

📌 탄력적 IP를 사용하려는 이유 사이드 프로젝트 중 문자 전송을 위해 알리고 서비스를 사용하고 있습니다 여기서 문제는! 알리고 서비스 사용시 전송 가능한 서버IP 주소를 등록해야 정상적으로 전송이 가능하다는 것입니다. 로컬서버에서는 보통 고정된 IP 주소를 사용하지만 클라우드 환경에서는 다릅니다. 보통 가상 인터넷 서버 EC2(AWS 기준) 의 public IPv4 주소를 이용에 서버에 접속을 하는데, 이 Pulbic IPv4주소는 서버가 중지, 중단, 일시정지 등 얼마든지 유동적으로 변해버립니다. 👏🏻 따라서 알리고 서비스를 사용하기 위해서는 변하지 않는 고정 IP 주소 [EIP(Elastic IP Address)]가 필요했습니다. 📌 탄력적 IP란 AWS 에서 탄력적 IP란, 동적인 클라우드 컴퓨팅..

Infra/AWS 2023.03.09

[AWS] EC2 가비아 도메인 연결하기

이전 글에 이어서 이제 도메인을 연결해 보고자 합니다. [Infra/AWS] - [AWS] EC2 에 Spring boot 올리는 과정 및 삽질 (with java 17 + spring boot3.0) 1. 도메인 구입 👏🏻 도메인은 가비아에서 .shop 도메인을 1년에 500원 으로 구매할 수 있습니다 Gabia 도메인 구입 링크 :https://domain.gabia.com/ 구매를 원하는 도메인을 검색하면 사용한 가능한 목록와 구매금액이 나옵니다. 핫한 도메인일수록 금액이 비싸고 생소할수록 저렴한 도메인으로 구매가 가능합니다. 2. 도메인 연결 도메인을 구매한 뒤 조금 기다리면 (길면 2일? 짧으면 10분) [My가비아] - [DNS 관리툴] 에 구매한 도메인이 보입니다. 👏🏻 그러면 aws 에 구..

Infra/AWS 2023.02.12

[AWS] EC2 에 Spring boot 올리는 과정 및 삽질 (with java 17 + spring boot3.0)

간단하게, aws 에 ec2를 생성하여 처음부터, git hub에 올라가있는 spring boot project를 구동시키는 과정을 기록한 글입니다. 시나리오 aws ec2 신규 생성 보안 그룹 out/inbound 오픈 ec2에 java 17, gradle 설치 ec2에 git clone ec2에 프로젝트 빌드 ec2 spring 백그라운드 실행 순서대로 해보겠습니담 1. EC2 생성 및 JAVA 17설치 EC2 생성및 inbound port 열기는 여기 참고 → 그사이에 aws 가 바뀌긴 했지만 얼추비슷하게 ubuntu 에 프리티어로 생성 2 EC2 터널링 접속 //ssh -i 받은키페어를끌어다놓기 ubuntu@AWS에적힌내아이피(인스턴스 퍼블릭 ipv4 주소) ex) ssh -i /path/my-k..

Infra/AWS 2023.02.10

[Jenkins] bitbucket - Jenkins 연동, merge 시 jenkins 이벤트 발생시키기 (with Generic Webhook Trigger)

CI/CD 의 부푼 꿈을 안고 Bitbucket jenkins 연동을 개선해보고자 합니다. 📌 목표 Bitbucket Pull Requset Merge 시 Jenkins 에서 branch 별 별도의 event 발생시키기 (bitbucket jenkins branch merge reloading) 📌 시나리오 bitbucket 에 webhook 을 등록하여 merge 를 triger 로 등록합니다. 이벤트 발생을 필요로하는 jenkins 서버 url 을 webhook 에 등록시키고 Jenkins Generic Webhook Trigger 플러그인을 사용하여 Branch 별로 이벤트를 각각 발생시킬 수 있도록 설정해줍니다. [목차] 웹 훅 이란 bitbucket webhook 설정 bitbucket webh..

Infra/CI, CD 2022.12.13

젠킨스(Jenkins) vs Code Build vs Git Actions

모두 빌드 자동화의 툴 사이드프로젝트에서 팀원과 인프라 구축을 위해 ci.cd 구축을 어떤 툴을 이용해서 진행할거냐를 의논하기위해 정리한 글입니다. 따라서 매우매우 가볍고 간단하게만 비교 정리한 글! ➡️ 결론은 jenkins로 해보기로함 [목차] jenkins 란 code build 란 git actions 란 jenkins vs git actions Jenkins ■ 젠킨스(Jenkins)의 개념 : 젠킨스(Jenkins)는 거의 모든 언어의 조합과 소스코드 리포지토리(Repository)에 대한 지속적인 통합(CI) 과 지속적인 배포(CD) 를 무료로 제공합니다. ■ 젠키스 사용 장점 프로젝트의 표준 컴파일 환경에서 컴파일 오류 검출 코딩 규약 준수여부 체크 프로파일링을 통해 소스 변경에 따른 성능..

Infra/CI, CD 2022.12.13

[AWS] RDS Python 코드로 이용하기 - AWS RDS(Mysql)을 이용하여 사진 업로드

전전전? 아무튼 전 게시물에서 cloudfront로 프론트를, EB로 백엔드 application.py를 배포에 프론트와 백엔드를 연동해서 배포를 완료했다. 이번에는 이걸 이용해서 DB를 RDS로 연동해 주려고 한다. 1. EB 백엔드 예시 코드 - application.py import boto3 from flask import Flask, render_template, request, jsonify from flask_cors import CORS import os from flaskext.mysql import MySQL #pip install install flask-mysql application = Flask(__name__) # cors cors = CORS(application, resou..

Infra/AWS 2021.12.20

[AWS] Spring boot 랑 RDS Mysql 연동하기 (GitAction, EB)

전 게시물에서 EB를 이용해 배포를 하였기 때문에, EB 환경에서 데이터베이스(RDS)를 만들어 연동하고자 한다. Elastic Beanstalk > 환경 > 내 eb 환경 > 구성 > 데이터베이스 편집 여기서 데이터 베이스를 쭉쭉쭉 만들고 사용자 이름과 비밀번호를 기억해 두어야한다. (master 아이디가 된다.) 그럼 이렇게 RDS 가서 보면 데이터베이스가 생긴걸 확인 할 수 있다. 여기서 클릭해 엔드포인트를 기억해 두고, 인바운드 규칙을 편집한다. VPC 보안그룹 클릭 > 인바운드 규칙 편집 클릭 그다음 해당 데이터베이스의 포트를 열어준다. 나는 mysql을 사용했기 때문에 3306 포트를 열어주엇다. 그 다음 EB 환경변수에 아래의 값들을 추가해 준다. (EB 환경변수와 인텔리제이 환경변수 추가하..

Infra/AWS 2021.12.15

[AWS] 도커와 깃 액션을 이용해서 백엔드 배포하기 - EC2, EB, Docker, GitAction

프로젝트 배포를위해, 컨 게시글에서 프론트 페이지를 먼저 배포하였다. 이제 백엔드 쪽을 배포할 건데, Docker 와 GitAction을 사용하여, ElasticBeanstalk를 이용해서 배포할려고 한다. ElasticBeanstalk를 이용하면, ELB + Auto Scaling + EC2 한번에 관리할 수 있다. 아래의 게시글 따라하며, EB를 구성하는데, EB의 플랫폼을 도커로 설정하여 만들어줘야한다. EB 생성 https://thalals.tistory.com/151 [AWS] Elastic Beanstalk란 (ELB + Auto Scaling + EC2 한번에 관리) 🍯EB(ElasticBeanstalk) 란 ELB + Auto Scaling + EC2 한번에 관리할 수 있는 서비스입니다 A..

Infra/AWS 2021.12.15

[AWS] 프론트 부분 AWS 배포 - (S3, CloudFront 연동)

프로젝트 배포를 위해 프론트 부분을 배포하고자 한다. 프론트 부분은 직접 수동으로, s3 버킷 안에 업로드를 해주고, s3를 cloudfront로 연동시켜주어서 마무리 할 계획이다. CloudFront를 연동하는 이유는, 글로벌 서비스를 위한 캐싱 데이터의 사용과, s3에 집적 접근하는게 아닌, 클라우드 프론트를 이요하여 캐싱 데이터에 접근하는 것이기 때문에 AWS 비용 절감도 할 수 있기 때문이다. 쉽게 말해서 CloudFront란, 정적파일들을 캐싱해주는 서비스이다. (정적파일 호스팅까지) S3 만드는방법 https://thalals.tistory.com/139 aws s3 ( AWS 파일 업로드 저장소 ) 아마존 S3 - Simple Storage Service 아마존 s3는 아마존 웹서비스에서 제..

Infra/AWS 2021.12.08
반응형