bitbucket repo & webhook ↔︎ jenkins

minkyung·2023년 9월 8일
0
post-thumbnail

jenkins 공식문서에 맞춰 진행함 (본인 = 아무것도모르는 상태)

Install Jenkins

바~로 brew install jenkins-lts 때렸는데
No such file or directory @ rb_sysopen - /var/lib/jenkins/jobs/deploy_api_v2/workspace/temporary
오류가 자꾸 자꾸 떴음
brew doctor brew update 이런거 하등 소용 없었음

근데 본인 = 아무것도 모르는 상태
jenkins를 사용하려면 java가 있어야한다는 것도 몰랐음

그래서 jenkins requirements 문서로 감

https://www.jenkins.io/doc/administration/requirements/java/
공식문서에서 11 또는 17 버전을 사용하래서 설치

brew tap adoptopenjdk/openjdk\n
brew install --cask adoptopenjdk11\n

근데 설치 중에 위와 비슷하게 No such file or directory @ glib ~ 라고 뜸
dependency가 없어서 뜨는 오류인거같아서 glib 설치

brew install glib
brew install java11

아래 명령은 openjdk11이 설치완료되고나면 brew가 하라고 알려줌

echo 'export PATH="/opt/homebrew/opt/openjdk@11/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

정리:
brew install glib
brew tap adoptopenjdk/openjdk\n
brew install --cask adoptopenjdk11\n
echo 'export PATH="/opt/homebrew/opt/openjdk@11/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
brew install jenkins-lts

맥에서 Brew로 자바 설치하기(feat. 자바버전 바꾸기)

Using Jenkins

jenkins이 하라는대로 함
plugins도 일단 recommended로

  1. Jekins bitbucket-branch-source plugin 설치해야함
    아저씨가 혼자 설치하고 말로만 알려줌
    https://plugins.jenkins.io/cloudbees-bitbucket-branch-source/

  2. bitbucket 개인 계정 설정 (Personal settings)

  • App password → Create app password
    - Webhooks ✅ Read and write
    - Pull requests ✅ Read
  • Create
  • 생성된 password 클립보드에 복사해놓기
  1. Jenkins Dashboard > manageJenkins > Credentials > system > Global credentials > add Credentials
  1. Jenkins Dashboard > manageJenkins > system > Bitbucket Endpoints
  • Credentials : 3번 단계에서 추가한 Credentials 선택 (연결하려는 bitbucket의 credential이면 됨)
  • Custom Jenkins Root URL : bitbucket의 webhook이 push 이벤트를 post하게되는 URL, 기본적으로는 localhost:8080 이지만, webhook이 로컬까지 접근 못하기 때문에 고정적인 서브도메인을 가지고 있는 무료 터널링 서비스 (localtunnel) 을 사용함. 추후에 AWS EC2 연결하기로.
  1. bitbucket repository webhook 추가
  • Jenkins와 연결하려고하는 repository → Repository settings → Webhooks
  • Add webhook
    - Title : webhook title (식별가능하기만 하면 됨)
    - URL : Jenkins Root URL + /bitbucket-hook/

    URL – the endpoint where you want Bitbucket to send the event payloads when a matching event happens. 📎 bitbucket support document

  • Status : Active ✅
  • Triggers : Push ✅
  1. Dashboard > addItem
  • Bitbucket team/project 선택
  1. item configuration
  • Projects (Repository Sources)
  1. 해당 config Save 시키면
    Jenkins에서 folder scan을 한번 함.
    아래 처럼 team이 가지고 있는 repository를 찾고, Jenkinsfile을 스캔하는 과정이 나오면 연결 성공

  2. 연결 성공하고 나서도, folder main에서는 This folder is empty라고 나오는데,
    해당 repository > branch에 Jenkinsfile 추가하면 여기 뜸.

profile
프론트엔드 개발자

0개의 댓글