UNPKG

klip-sdk

Version:

JavaScript SDK to interact with klip App2App requests

84 lines (80 loc) 3.41 kB
# Blossomops 개요 > Prod Approve을 하기 위해 슬랙 메시지 전송이 필요하며 모듈화에 대한 사용 방법이다. * FE, BE 사용방법이 구분되어 있으며 아래 예시를 참고하여 레포에서 Step을 추가하면 된다. # Blossomops 사용방법 * Parameters + TYPE: 기본값이 BE이며, FE 레포에서 사용할때만 FE를 추가한다. + ENVIROMENT: prod 필수 고정 값이며, 기본값으로 prod로 잡혀있다. + VERSION: 버전 정보를 표기하기 위함이다. * CI 조건을 PR 변경한 다음에 head_ref를 사용하면 된다. + CHANNEL_ID: 기본값으로는 #prod_approve 채널 ID가 들어가있으며, 테스트 시에만 "C05JC0T17U3" 을 추가한다. + SERVICE * FE에서는 REPOSITORY 명칭을 사용하며, 이를 위해 set-outputs step에서 뽑아내도록 한다. * BE에서는 Argocd Application 이름을 기재한다. + CATEGORY: Approve를 하는 분류 기준이 된다. * FE는 레포의 분류 기준에 따라서 kas, klip, klipdrops, klippass, baas, devops 중에서 값을 추가한다. * BE는 git diff에서 파일 변경분의 charts/apps/ 값을 사용하도록 한다. + REPOSITORY: FE일떄만 사용하며, REPO의 Pending Deployment를 찾기 위해 사용한다. + ENVIRONMENT_ID: REPOSITORY별로 Approve의 ID를 추가한다. * 이떄 반드시 gx-bot이 해당 REPOSITORY의 오너로 추가되어야 한다. + WORKFLOW_ID, SLACK_APPROVE_TOKEN: 변경할 필요 없다. > FE 레포에서 사용하는 경우 * FE의 경우에는 Pending Deployment에 대한 Approve가 필요하므로 CI에서 반드시 아래 권한을 추가해야한다. ```yaml permissions: id-token: write contents: write pull-requests: write checks: write actions: write deployments: write ``` ```yaml ... blossomops-check: runs-on: ubuntu-22.04 needs: [deploy-staging] steps: - name: fetch actions repo uses: actions/checkout@v4 with: repository: "ground-x/gx-gh-actions" path: ./actions ssh-key: "${{ secrets.GX_PRIVATE_SSH_KEY }}" ref: "v2.1.0" - name: set outputs id: set-outputs run: | GIT_REPO=${{ github.repository }} SERVICE=$(echo $GIT_REPO | awk -F "/" '{print $2}') echo "SERVICE=$(echo $SERVICE)" >> $GITHUB_OUTPUT - name: blossomops FE check uses: ./actions/devops/blossom_deploy with: TYPE: "FE" ENVIROMENT: "prod" CATEGORY: "devops" VERSION: "v1.0.0" CHANNEL_ID: "C05JC0T17U3" SERVICE: ${{ steps.set-outputs.outputs.SERVICE }} REPOSITORY: ${{ github.repository }} ENVIRONMENT_ID: "2476771098" WORKFLOW_ID: ${{ github.run_id }} SLACK_APPROVE_TOKEN: ${{ secrets.SLACK_APPROVE_TOKEN }} ``` > BE 레포에서 사용하는 경우(BE의 경우 helm-charts 레포에서만 설정 하면 됨) ```yaml ... - name: blossomops check uses: ./actions/devops/blossom_deploy with: TYPE: "BE" ENVIROMENT: "dev" CATEGORY: "devops" VERSION: "v1.0.0" CHANNEL_ID: "C05JC0T17U3" REPOSITORY: ${{ github.repository }} PR_NUMBER: ${{ github.event.pull_request.number }} SERVICE: "blossomops" SLACK_APPROVE_TOKEN: ${{ secrets.SLACK_APPROVE_TOKEN }} ```