Search
Duplicate
📒

[GitOps CICD] 05. 고급활용, 활용사례

수업
GitOps CICD
주제
GithubAction
5 more properties
참고

고급활용

워크플로우 캐시

NOTE
워크플로우는 Job단위로 Runner를 실행하며, 매번 새로운 Runner를 구동
이전 작업의 정보가 남아있지 않아서, 매번 빌드작업을 반복할경우 패키지를 다시 다운받는 비효율발생
캐시 영역에 저장 후, 캐시 히트시 저장된 파일을 바로 사용하게끔 구성
매번 다운로드 받는 패키지 설치과정을 최소화
name: PART7 - CH1 - Caching Dependencies on: workflow_dispatch jobs: build-using-cache: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Move JS Sample code run: | mv cache_sample/* ./ - name: Setup Node uses: actions/setup-node@v3 with: node-version: '18.x' registry-url: 'https://registry.npmjs.org/' - id: node-cache name: Cache node modules uses: actions/cache@v3 env: cache-name: cache-node-modules with: path: node_modules key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-build-${{ env.cache-name }}- ${{ runner.os }}-build- ${{ runner.os }}- - name: Install dependencies if: steps.node-cache.outputs.cache-hit != 'true' run: npm install - name: List packages from node modules continue-on-error: true run: npm list
YAML
복사
name: PART7 - CH1 - No Caching Dependencies on: workflow_dispatch jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Move JS Sample code run: | mv cache_sample/* ./ - name: Setup Node uses: actions/setup-node@v3 with: node-version: '18.x' registry-url: 'https://registry.npmjs.org/' - name: Install dependencies run: npm install
YAML
복사

Github CLI 활용

NOTE
name: PART7 - CH2 - GitHub CLI on: issues: types: - opened permissions: issues: write jobs: comment: runs-on: ubuntu-latest steps: - run: gh issue comment $ISSUE --body "Thank you for opening this issue!" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} ISSUE: ${{ github.event.issue.html_url }}
YAML
복사

Marketplace 활용

NOTE

Marketplace 활용

NOTE