[ 11부 ] GraphQL, Typescript 및 React를 사용하여 Twitter 복제본 만들기( Github 작업 흐름 )
6014 단어 showdevgraphqlgithubjavascript
참고로 저는 이 챌린지를 하고 있습니다 ;) : Tweeter challenge
Db diagram
얼마 전 팀원과 함께 챌린지를 했습니다. 누군가와 함께 프로젝트를 하는 것은 처음이었습니다. 나는 그것에 대해 이야기했다. 챌린지here를 찾을 수 있습니다. 이 프로젝트 이후로 저는 프로젝트 작업 방식을 변경했습니다. 내가 말하려는 내용에 특별한 것은 없지만 아마도 여러분 중 일부는 유용한 것을 발견할 것입니다 ;).
먼저 Github에 저장소를 생성하는 것으로 시작합니다. 원하는 경우 개인 저장소를 만들 수 있습니다. 그런 다음 Github 문제를 사용하여 작업할 기능을 계획합니다. 제 간단한 개인 작업 흐름은 다음과 같습니다.
git checkout -b add_some_functionality
git push origin add_some_functionality
Github 작업 흐름
그것이 Github Workflow가 작동하는 곳입니다. 나는 Github Workflow를 처음 접했기 때문에 내가 당신에게 완전한 설명을 줄 것이라고 기대하지 마십시오. 더 자세한 설명을 원하시면 dev.to에서 많은 리소스를 찾을 수 있습니다 ;).
몇 가지 테스트를 작성했기 때문에 브랜치를 실제로 내 메인 브랜치에 병합하기 전에 테스트를 실행하는 것이 흥미로울 수 있습니다. 그렇기 때문에 새 기능 분기를 병합하기 전에 테스트를 실행하도록 Github를 설정합니다.
.github/workflows/pr_tests.yaml
name: Run tests on pull request
on:
push:
branches:
- main
pull_request:
types: [opened, synchronize]
jobs:
test:
runs-on: ubuntu-latest
# Service containers to run with `container-job`
services:
# Label used to access the service container
postgres:
# Docker Hub image
image: postgres
# Provide the password for postgres
env:
POSTGRES_PASSWORD: root
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
# Maps TCP port 5432 on service container to the host
- 5432:5432
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: '14.x'
- run: yarn
- name: Run the tests
run: yarn test
env:
NODE_ENV: test
PORT: 3000
JWT_SECRET: test-secret
DB_HOST: localhost
DB_NAME: postgres
DB_USER: postgres
DB_PASSWORD: root
메인 브랜치에 풀 리퀘스트를 할 때 이 워크플로를 실행하겠습니다. 테스트를 실행하려면 PostgreSQL 데이터베이스가 필요하므로 이에 대한 서비스를 추가합니다. 도커 이미지를 설치합니다. 그런 다음 노드를 설치하고 테스트를 실행하는 명령을 추가합니다.
이제 풀 요청을 하면 테스트가 자동으로 실행되고 오류가 있으면 브랜치를 병합하지 않습니다.
작업 탭으로 이동하면 실행 중인 작업이 표시됩니다.
기능 분기가 병합되면 로컬 리포지토리로 돌아갑니다.
git checkout main
git pull
일반적으로 내 지점도 삭제합니다.
git branch -D feature_branch
내가 말했듯이 여기에는 예외가 없지만 혼자 일하면서 오랫동안 메인 브랜치 만 사용했습니다 ... 이렇게 진행하면 훨씬 더 효율적이고 체계적 일 수 있습니다 ;). 초보자라면 몇 가지 아이디어를 얻을 수 있을 것입니다 ;).
오늘은 그게 다야.
다음 편에서 만나요 ;).
Reference
이 문제에 관하여([ 11부 ] GraphQL, Typescript 및 React를 사용하여 Twitter 복제본 만들기( Github 작업 흐름 )), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ipscodingchallenge/part-11-creating-a-twitter-clone-with-graphql-typescript-and-react-github-workflow-22b6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)