SCM & CI,CD
-
농실농실 서비스를 운영하면서 매번 빌드/배포를 수동으로 하고 있었는데 언젠가 이 작업을 자동으로 바꾸고 싶었습니다. 해당 서비스는 Cafe24의 Tomcat 호스팅 서비스를 사용하고 있습니다. 자주는 아니었지만 서비스에 기능이 수정되거나 버그를 고칠때면 로컬에서 빌드 후 war 파일을 FTP로 올려주고 있었습니다.오늘은 GitHub에서 제공하는 Git Actions을 통해 빌드된 war 파일을 Cafe24 서버로 배포하는 과정에 대해 알아보겠습니다. ※ 테스트 환경Spring BootJDK 1.8GradleGitHub ActionsGitHub Actions는 GitHub에서 공식적으로 제공하는 빌드, 테스트 및 배포 파이프라인 자동화 도구입니다. 이를 통해 저장소에 특정 이벤트(Push, Pull Req..
[GitHub Actions]war 파일 빌드/배포하기 2024. 10. 23. -
젠킨스 사용시 슬랙을 연동하면 팀원들과 배포 상태를 공유할 수 있습니다.이번 포스팅에서는 젠킨스와 슬랙을 연동하는 방법에 대해 알아보겠습니다.1. 젠킨스 앱 추가자동화 메뉴를 클릭 후 젠킨스 앱을 슬랙에 추가합니다. 2. 채널 추가젠킨스 알림을 포스트할 채널을 설정합니다. 앱 추가 후에 설정 지침을 확인할 수 있습니다. 문서가 잘 작성되어 있기 때문에 내용을 참고해서 순서대로 진행해보겠습니다. 3. 젠킨스 플러그인 설치먼저 젠킨스 플러그인에서 slack notification을 설치합니다. 4. 슬랙 알림 설정젠킨스 관리 - System를 클릭한 후 추가된 Slack 영역에 안내에 따라 정보를 기입합니다. Workspace : 슬랙 채널의 서브 도메인을 입력합니다. (팀 하위 도메인)Credential..
[Slack]Jenkins + Slack 연동 2024. 10. 8. -
예전에 Git - Jenkins 연동에 관한 내용을 포스팅한 적이 있습니다. 당시에는 URL을 이용한 방식을 소개했었는데 현재 회사에서는 SSH를 통해 연결해 사용하고 있습니다. 보안상 SSH를 이용한 방식이 더 권장되고 있기 때문에 내용을 정리해봤습니다. Jenkins와 Git 플러그인은 설치되었다는 가정하에 진행됩니다. ※ 테스트 환경 Linux GitLab Jenkins 1. SSH 키 생성 먼저 젠킨스 폴더가 위치한 경로로 접속합니다. 그리고 .ssh 폴더를 생성해줍니다. cd /var/lib/jenkins mkdir .ssh ssh-keygen 명령어를 이용해 ssh 키를 생성합니다. cd .ssh ssh-keygen -t rsa -f ./test-project 그러면 아래와 같이 비밀번호를 입..
[Jenkins]Git 연동 2023. 3. 16. -
최근에 젠킨스 배포 환경을 구축하는 작업이 있었습니다.SFTP를 이용해 빌드 파일을 배포 후 서버를 실행 하게끔 했고 해당 내용을 공유하고자 포스팅에 남깁니다.*포스팅 내용은 빌드한 war 파일을 Tomcat 에서 실행하는 구조입니다.1) Jenkins 관리 - 플러그인 관리 2) 플러그인 다운로드설치 가능탭에서 Publish Over SSH 검색 후 다운로드(포스팅 당시 이미 설치를 완료한 후입니다) 3-1) SSH 설정설치가 완료되면 1)에 시스템 설정으로 접속 - 하단에 Publish over SSH 탭 확인원격 서버에 접속하기 위한 키를 입력한다.Path to key에 젠킨스 디렉토리 기준 상대경로로 키 경로를 등록하거나 Key값에 개인키 내용을 넣는다. [AWS EC2]AWS EC2를 이용한다면..
[Jenkins]SFTP를 이용해 배포하기 2022. 8. 11. -
최근에 CentOS에 젠킨스를 설치해야할 일이 생겼습니다.과정이 어렵지는 않았으나 첫 과정이었기에 포스팅에 남기려고 합니다.설치 과정은 어렵지 않았지만 오랜만에 리눅스 명령어를 사용하려니 하나씩 찾아보며 해야하는 점이 힘들었던 것 같습니다. 리눅스 명령어를 먼저 익히고 진행하면 좀 더 쉽게 진행할 수 있을 것 같습니다.젠킨스 저장소 설치(안정버전)sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.reposudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key 저장소 추가시 아래와 같은 에러가 났으나 sudo yum install -..
[Jenkins]Linux 환경 젠킨스 설치 2021. 12. 20. -
현재 저의 GitHub에 올려놓은 프로젝트는 DB 정보를 담고 있는 root-context의 정보가 그대로 노출되어 있습니다. 서비스 중인 프로그램이 아닌 개인 프로젝트 용도기 때문에 괜찮을 수 있지만 보안과 관련된 정보들은 항상 조심해야 합니다. 특히 실무에서는 DB 서버, 파일 서버, 계정 등 외부로 알려지면 안되는 정보들이 많기 때문에 유의해야 합니다. 오늘 포스팅할 내용은 GitHub에 보안과 관련된 민감한 정보들은 따로 분리하여 관리하는 방법에 관한 것입니다. gitignore Git에서는 원하지 않는 파일들을 저장소에 올리지 않도록 할 수 있는 gitignore 파일을 제공한다. 서두에 언급했던 보안과 관련된 정보들이나 저장소에 올리지 않아도 되는 파일들(백업파일,클래스 파일)을 올리지 않도록..
.gitignore 관리하기 2020. 12. 22. -
본 포스팅에서는 GitHub 서버와 연결 후 Tomcat에 war파일을 배포하는 내용을 담고 있습니다. 사전 설정이 있기 때문에 이전 글을 못 보신 분들은 이전 글을 먼저 확인해주세요. GitHub 서버 연결 1) Jenkins 관리 - 시스템 설정을 클릭한다. 2) 아래로 내려가다보면 GitHub 메뉴가 있다. 여기서 GitHub Server와 연결을 해주는 작업을 한다. *그 전에 GitHub로부터 개인 토큰을 발급받아 젠킨스에서 액세스할 수 있도록 하는 작업이 필요하다. 2-1) GitHub 사이트에 접속한다. 우측 상단에 프로필 - Setting를 클릭한다. 2-2) Developer settings 클릭 2-3) Personal access tokens 선택 후 Generate new token..
[Jenkins]GitHub 연동 (2) 2020. 12. 8. -
지난 글에서 Git을 이용해 소스 관리를 하는 방법에 대해 포스팅했었습니다. 오늘 포스팅할 내용은 Git의 데이터를 저장하는 서버인 GitHub와 Jenkins라는 오픈 툴을 이용해 소스를 배포하는 방법에 대해 정리하였습니다. ※ 테스트 환경 Windows 7 Tomcat 9 1) Jenkins를 설치한다. www.jenkins.io/download/ 사이트에 접속해 아래 war 파일을 다운받는다. 2) Logon Type : Run service as LocalSystem을 체크하고 넘어간다. 3) 기본 포트가 8080으로 셋팅되어 있는데 8080포트가 사용중이지 않다면 넘어가도 된다.(8080 포트가 사용중이라면 변경해준다) JDK가 설치되어 있는 경로를 잡아준다. 4) 설치가 완료되면 아래와 같이 ..
[Jenkins]GitHub 연동 (1) 2020. 12. 8.