DevOps

    Vue.js 프로젝트 Jenkins로 nginx에 배포해보기

    vue cli 를 통해 vue 프로젝트를 만들었습니다. 일반적으로 vue.config.js 를 따로 설정해 주지 않는 이상 npm run build를 실행하게 되면 해당 디렉토리에 dist라는 폴더가 만들어집니다. build의 결과물인 dist라는 폴더를 nginx에 올려야 합니다. 1. vue 프로젝트를 git 저장소에 push를 합니다. 이렇게 push가 되었습니다. 2. webhook을 통해 젠킨스가 빌드되기를 바랍니다. 해당 저장소의 Settings 를 눌러줍니다. Webhooks 를 눌러줍니다. 저는 이미 만들어놨기에 하나가 만들어져 있습니다. 여기서 Add webhook을 눌러줍니다. URL은 젠킨스의 접속 주소입니다. 저는 ec2를 사용하기 때문에 ec2의 주소 + /github-webhoo..

    AWS EC2 EBS(Elastic Block Store) 볼륨 프리티어 연결해보기

    AWS에서 EBS는 30GiB까지 프리티어 지원합니다. 사용하는 인스턴스를 클릭합니다. 스토리지를 눌러보면 루트 디바이스 이름이 있습니다. EBS에 볼륨을 눌러줍니다. 볼륨을 생성해줍니다. 생성한 볼륨을 클릭하고 작업을 눌러주면 연결을 눌러줍니다. 인스턴스를 클릭해서 적용할 인스턴스를 눌러주고, 디바이스를 아까 인스턴스의 루트 디바이스와 같이 해준 후 연결을 눌러줍니다. df -h 해당 인스턴스를 연결하여 df -h 명령어를 실행하면 루트 디렉토리 용량이 늘어난 것을 확인 할 수 있습니다. 저는 20G로 하였습니다.

    도커 일반사용자에게 권한 부여하기

    도커는 항상 Root로 실행되기 때문에 sudo를 사용하여 명령어를 입력해야 합니다. sudo usermod -aG docker [username] 해당 사용자를 docker 그룹에 추가함으로써 sudo 명령어를 사용하지 않고 도커 명령어를 쓸 수 있도록 합니다. sudo service docker restart 도커를 재시작 해줍니다. 그러고 유저도 로그아웃한 뒤 다시 로그인해줍니다. 도커명령어가 실행되는 것을 확인할 수 있습니다.

    젠킨스 Gradle 빌드해보기 - 스프링부트 프로젝트

    github를 통해 git push가 일어나고 웹훅으로 젠킨스 빌드를 유발합니다. 이 때, github 저장소의 내용을 읽어옵니다. 읽어온 저장소에 gradle를 통해 빌드하고, Dockerfile로 이미지를 만들어 도커 허브에 push 하는 방법을 알아보겠습니다. 이전 포스팅으로 github 웹훅 설정과 ssh 설정에 대한 포스팅을 했습니다. 이번 포스팅에선 gradle 빌드와 Dockerfile 부분만 알아보도록하겠습니다. 1. 젠킨스에 해당 item을 누른 후 구성을 클릭 2. 아래로 내리면 Build 가 있습니다. Gradle script 호출하는 부분에서 Use Gradle Wrapper를 클릭한 후 Make gradlew executable 를 클릭합니다. 클릭해주어야 gradlew 권한 오류..

    젠킨스 SSH Server 연결하고 빌드 후 조치 알아보기

    1. 젠킨스 관리에 플러그인 관리로 들어갑니다. 2. Publish Over SSH를 검색하고 플러그인을 설치합니다. 3. 다시 젠킨스 관리로 들어와서 시스템 설정으로 들어갑니다. 4. 밑으로 쭉 내리면 Publish over SSH 가 있습니다. SSH Servers 부분에서 추가를 눌러줍니다. 5. Name을 입력하고 Hostname을 입력합니다. AWS EC2일 경우 IPv4 DNS 등 입력하면 됩니다. 여기서 Username은 ec2에 유저이름을 입력해야합니다. EC2 Ubuntu의 경우 ubuntu가 유저이름입니다. 6. 이제 위에서 Publish over SSH 에서 유저 비밀번호나 key를 입력해야 합니다. 저는 비밀번호로 로그인 하기 때문에 Passphrase에 Change Password..

    젠킨스 깃허브 웹훅 연동하기

    깃 허브 저장소는 public 으로 진행합니다. 1. 깃 허브 저장소로 이동합니다. Settings를 눌러줍니다. 2. Webhooks 를 들어가줍니다. 그러면 Webhooks 설정을 할 수 있는 페이지가 나옵니다. 여기서 Add webhook으로 만들어 줄 것입니다. 3. Payload URL 에는 URL 주소를 입력합니다. 만약, AWS ec2이고 젠킨스 포트가 8080 이면 IPv4 DNS 주소 : 8080 입력하시면 됩니다. Content type 는 application/json을 선택해줍니다. push event가 일어날 때 웹훅을 트리거 해준다는 것을 체크 해줍니다. 4. Add webhook 으로 추가하여 마무리합니다. 그럼 이렇게 push 이벤트의 웩훅이 생성됩니다. 5. Jenkins로..

    ubuntu Jenkins 설치 방법

    https://pkg.jenkins.io/debian-stable/ Debian Jenkins Packages Jenkins Debian Packages This is the Debian package repository of Jenkins to automate installation and upgrade. To use this repository, first add the key to your system: WARNING: The gpg key use to sign our packages has been updated on 16th of April 2020, t pkg.jenkins.io 젠킨스 공식 사이트 입니다. Java JDK 를 먼저 설치해주어야 합니다. openjdk 11를 설치해줍니다. su..

    AWS EC2 인스턴스(Ubuntu) Putty로 접속하기

    1. PuTTYgen 을 실행 하고 RSA를 선택 한 후 Load로 인스턴스 생성 당시 만든 pem 키를 불러옵니다. 관리자 권한으로 실행하여야 합니다. 불러온 후 Save private key를 눌러 저장해 줍니다. 2. PuTTY를 실행해 줍니다. 3. SSH - Auth 로 가서 Browse 클릭 후 저장한 키(ppk)를 불러옵니다. 4. 다시 Session으로 가서 인스턴스의 퍼블릭 IPv4 DNS를 복사하여 Host Name에 넣어준 후 Open을 눌러줍니다. 접속완료되는 것을 확인 할 수 있습니다. 5. 이제 key 없이 user name과 passwd로 접속하는 방법을 알아보겠습니다. 먼저 기본적으로 ubuntu 인스턴스에선 username은 ubuntu입니다. 해당 명령어를 통해 비밀번호를..