어떻게 환매 협의 패키지의 의존 관계를 자동으로 갱신합니까
TL;박사 01 명
의존항을 자동으로 업데이트하기 위해 신뢰성 테스트를 실현하는 방법을 알고 dep가 업데이트된pr을 열면 이 요청에서 테스트를 실행하고 성공하면 자동으로 통합됩니다.
개발자로서의 일상적인 임무
개발자의 업무는 보통 할리우드 영화를 가리키는데, 이 영화에서 똑똑한 사람이나 해커가 타자를 치고 있고, 우리는 스크린에서 각종 녹색 코드를 볼 수 있다.아니면 모니터 불빛만 볼 수 있는 검은색 방.
그러나 개발자의 업무는 대부분의 업무와 같다.그것은 매일 해결해야 할 문제, 이해해야 할 일상적인 임무를 가지고 문제를 해결하는 최선의 방법을 생각한다.그리고 다른 어떤 일과 마찬가지로 일상적인 임무도 있고 하루의 시간이 필요할 수도 있다.
너는 식당을 차리는 것과 같은 개발자의 일상적인 업무를 비교해 볼 수 있다.매일 식당에 들어가면 창문을 열고 불을 켜고 마루를 청소하고 접시를 씻고 의자를 열어야 한다. 내가 말한 것처럼 일상적인 임무다.
내 가방의 의존 관계를 갱신하는 것은 이런 일상적인 임무 중의 하나이다.그리고 프로젝트의 발전에 따라 수동으로 그것을 보존하는 것은 점점 어려워진다.
자동화
GitHub을 사용하여 작업을 추상화하기 쉽습니다.
These flows work together. So, it is important to write tests to have the dependabot working every day and these tests being responsible to identify problems with the updates.
신뢰성 구성
매일 신뢰할 수 있는 프로그램을 실행하고 프로그램 내부의 의존 항목에서 업데이트를 찾을 수 있도록 설정을 추가합니다.
.github
라는 폴더가 있을 수 있습니다.없으면 지금 수동으로 만듭니다.version: 2
updates:
- package-ecosystem: npm
directory: '/'
schedule:
interval: daily
time: '01:00'
open-pull-requests-limit: 10
이 yml 파일은 신뢰성 OT에 대한 구성을 설정합니다.워크플로 폴더
GitHub 작업을 만들기 전에 워크플로 폴더가 존재하지 않으면 워크플로 폴더를 만들어야 합니다.
GitHub 작업 테스트
important: this flow is responsible to run your application tests. So, it is expected a jest environment is already configured. If you don't have it yet it is a good time to start to write tests.
열려 있는 모든pull 요청에서 저장소의 모든 테스트를 실행하는 GitHub 작업을 만듭니다.
.github
name: tests
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: "14"
- run: yarn
- run: yarn jest
이 yml 파일은 다음을 담당하는 새 작업을 설정합니다.신뢰성 자동 통합 GitHub 작업
Relationot에서 연 pull 요청을 자동으로 병합하는 GitHub 작업을 만듭니다.이 작업은 모든 체크가 녹색이면 자동으로 병합됩니다.
test.yml
로 지정합니다.name: auto-merge
on:
pull_request_target:
branches:
- main
jobs:
auto-merge:
runs-on: ubuntu-latest
if: github.actor == 'dependabot[bot]'
steps:
- uses: ahmadnassri/[email protected]
with:
github-token: ${{ secrets.AUTOMERGE_TOKEN }}
command: 'squash and merge'
target: minor
이 yml 파일은 다음을 담당하는 새 작업을 설정합니다.auto-merge.yml
폴더는 다음과 같습니다.새pull 요청에서 변경 사항을 업데이트하고 신기한 일이 일어나기 시작합니다.
위의 인쇄 요청: https://github.com/daniloab/graphql-real-world-server/pull/115
use this pull request as an example about how to implement this blog post https://github.com/daniloab/graphql-real-world-server/pull/69
자동화에 오신 걸 환영합니다.
이제 애플리케이션에 새로운 자동화 기능이 추가되어 일상적인 작업을 원활하게 수행할 수 있게 되었습니다. 이러한 작업을 수동으로 수행해야 하는 시간이 늘어날수록 애플리케이션에 새로운 투자를 시작할 수 있습니다.
왜 자동화
너는 테스트를 쓰는 시간을 줄이기 위해 더 많은 테스트를 써야 한다.매일 응용 프로그램의 의존 항목을 업데이트해야 합니다. 그렇지 않으면 생각보다 빨리 유류 응용 프로그램을 가질 수 있습니다.
이 프로세스에 대한 질문이나 견해가 있으면 언제든지 DM에 전화하십시오.
Patreonhttps://www.patreon.com/daniloab에서 저를 지원하여 오픈 소스 작업을 돕습니다.
Reference
이 문제에 관하여(어떻게 환매 협의 패키지의 의존 관계를 자동으로 갱신합니까), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/daniloab/using-github-actions-to-improve-your-developer-experience-29n7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)