1.5. GitHub 앱에서 Pipeline을 코드로 사용
GitHub 앱은 Red Hat OpenShift Pipelines와의 통합 지점 역할을 하며 OpenShift Pipelines에 Git 기반 워크플로를 활용할 수 있습니다. 클러스터 관리자는 모든 클러스터 사용자에 대해 단일 GitHub 앱을 구성할 수 있습니다. GitHub Apps가 코드로 Pipeline에서 작동하도록 하려면 GitHub 앱의 Webhook가 GitHub 이벤트를 수신하는 코드 이벤트 리스너 경로(또는 수신 끝점)로 Pipeline을 가리키는지 확인합니다.
1.5.1. GitHub 앱 구성 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 관리자는 다음 명령을 실행하여 GitHub 앱을 만들 수 있습니다.
tkn pac bootstrap github-app
$ tkn pac bootstrap github-app
tkn pac CLI 플러그인이 설치되지 않은 경우 GitHub 앱을 수동으로 생성할 수 있습니다.
프로세스
Pipeline에 대해 수동으로 GitHub 앱을 생성하고 구성하려면 다음 단계를 수행합니다.
- GitHub 계정에 로그인합니다.
-
설정
개발자 설정 GitHub 앱으로 이동하여 새 GitHub 앱을 클릭합니다. GitHub 앱 양식에 다음 정보를 제공합니다.
-
GitHub 애플리케이션 이름:
OpenShift Pipelines - 홈페이지 URL: OpenShift 콘솔 URL
-
Webhook URL: 코드 경로 또는 인그레스 URL로 파이프라인입니다.
echo https://$(oc get route -n openshift-pipelines pipelines-as-code-controller -o jsonpath='{.spec.host}')명령을 실행하여 찾을 수 있습니다. -
Webhook 보안: 임의의 시크릿입니다.
openssl rand -hex 20명령을 실행하여 시크릿을 생성할 수 있습니다.
-
GitHub 애플리케이션 이름:
다음 리포지토리 권한을 선택합니다.
-
검사:
읽기 및 쓰기 -
내용:
읽기 & 쓰기 -
문제:
읽기 & 쓰기 -
metadata:
읽기 전용 -
pull request:
Read & Write
-
검사:
다음 조직 권한을 선택합니다.
-
멤버
: ReadOnly -
계획:
읽기 전용
-
멤버
다음 사용자 권한을 선택합니다.
- 커밋 주석
- 문제 주석
- 가져오기 요청
- 가져오기 요청 검토
- 요청 검토 댓글 가져오기
- push
- GitHub 앱 생성을 클릭합니다.
- 새로 생성된 GitHub 앱의 세부 정보 페이지에서 맨 위에 표시된 앱 ID 를 확인합니다.
- 개인 키 섹션에서 개인 키 생성 을 클릭하여 GitHub 앱의 개인 키를 자동으로 생성하고 다운로드합니다. 나중에 참조 및 사용을 위해 개인 키를 안전하게 저장합니다.
1.5.2. GitHub 앱에 액세스하기 위해 Pipeline을 코드로 구성 링크 복사링크가 클립보드에 복사되었습니다!
새로 생성된 GitHub 앱에 액세스하도록 Pipeline을 코드로 구성하려면 다음 명령을 실행합니다.
+
oc -n openshift-pipelines create secret generic pipelines-as-code-secret \
--from-literal github-private-key="$(cat <PATH_PRIVATE_KEY>)" \
--from-literal github-application-id="<APP_ID>" \
--from-literal webhook.secret="<WEBHOOK_SECRET>"
$ oc -n openshift-pipelines create secret generic pipelines-as-code-secret \
--from-literal github-private-key="$(cat <PATH_PRIVATE_KEY>)" \
--from-literal github-application-id="<APP_ID>" \
--from-literal webhook.secret="<WEBHOOK_SECRET>"
코드로서의 파이프라인은 GitHub Enterprise에서 설정된 헤더를 감지하고 GitHub Enterprise API 권한 부여 URL에 사용하여 GitHub Enterprise에서 자동으로 작동합니다.
1.5.3. 관리자 화면에서 GitHub 앱 생성 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 관리자는 OpenShift Container Platform 클러스터로 GitHub 앱을 구성하여 Pipeline을 코드로 사용할 수 있습니다. 이 구성을 사용하면 빌드 배포에 필요한 작업 세트를 실행할 수 있습니다.
사전 요구 사항
Operator Hub에서 Red Hat OpenShift Pipelines pipelines-1.10 Operator를 설치했습니다.
프로세스
- 관리자 화면에서 탐색 창을 사용하여 파이프라인 으로 이동합니다.
- 파이프라인 페이지에서 GitHub 앱 설정을 클릭합니다.
-
GitHub 앱 이름을 입력합니다. 예를 들면
pipelines-ci-clustername-testui입니다. - 설정을 클릭합니다.
- 브라우저에 메시지가 표시되면 Git 암호를 입력합니다.
-
Create GitHub App for <username >을 클릭합니다. 여기서 <
username>은 GitHub 사용자 이름입니다.
검증
GitHub 앱을 성공적으로 생성하면 OpenShift Container Platform 웹 콘솔이 열리고 애플리케이션에 대한 세부 정보가 표시됩니다.
GitHub 앱의 세부 정보는 openShift-pipelines 네임스페이스에 시크릿으로 저장됩니다.
GitHub 애플리케이션과 연결된 이름, 링크 및 시크릿과 같은 세부 정보를 보려면 파이프라인으로 이동하여 GitHub 앱 보기를 클릭합니다.