GitHub을 사용한 Appwrite 기능 배포 자동화
개발자가 게으르기 때문에, 이것은 아주 좋은 방법이다. GitHub을 사용하여 자동화 Appwrite 함수의 배치를 조작할 것이다.
Appwrite가 가능한 한 간단하게 CI에 통합되도록 하기 위해서, 우리는 GitHub Action in the Marketplace를 제공하여 통합Appwrite CLI을 제공합니다.이렇게 하면 Appwrite 서버의 모든 기능에 액세스하고 사용할 수 있습니다.
1단계 - GitHub 작업 생성
이 예에 대해 나는 하나를 사용했다.NET 항목이지만 Appwrite 함수가 환경을 제공하는 모든 언어에 적용됩니다.Node.js 또는 Python에 대한 도움이 필요하면 공식 문서를 사용하거나 GitHub 작업에 익숙해지면 2단계로 바로 이동하십시오.
빠른 시작을 위해 저장소의
deploy.yml
디렉토리에 .github/workflows
를 만듭니다.# deploy.yml
name: Deploy .NET function
on:
push:
branches: [ $default-branch ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup .NET Core SDK 5.0
uses: actions/[email protected]
with:
dotnet-version: '5.0'
- name: Install dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Test
run: dotnet test --no-restore --verbosity normal
이 워크플로 파일은 Ubuntu를 설정하는 데 사용됩니다.NET 5.0은 프로젝트의 모든 종속성을 설치하고 프로젝트를 구축하고 정의된 테스트를 실행합니다.우선, 우리는 우리의 업무 흐름에 이름을 지어 그것을 식별한다.나의 예에서 나는
Deploy .NET function
라고 부른다.name: Deploy .NET function
이 섹션에서는 밀어넣기$default-branch
때마다 이 작업을 실행하도록 정의합니다.우리의 경우, 이것은 주요한 지점이 될 것이다.on:
push:
branches: [ $default-branch ]
사전 설치된 버전의 를 사용합니다.NET Core SDK는 GitHub에서 호스팅하는 실행 프로그램에서 setup-dotnet
작업을 사용하고 있습니다.이 작업은 의 특정 버전을 찾습니다.NET는 모든 실행 프로그램의 도구에서 캐시합니다.이러한 변화는 작업의 남은 시간까지 지속될 것이다.권장 작업
setup-dotnet
NET와 GitHub 작업은 서로 다른 실행자와 서로 다른 버전의 응용 프로그램 간의 행동이 일치하도록 확보하기 때문이다.그물jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup .NET Core SDK 5.0
uses: actions/[email protected]
with:
dotnet-version: '5.0'
나머지 절차는 자명해야 합니다. 우리는 지금 우리의 함수를 Appwrite 서버에 배치할 것입니다.2단계 - Appwrite CLI 설정
This action 이 작업의 다음 모든 단계에 대해 Appwrite CLI가 설정됩니다.우리는
Setup .NET Core SDK 5.0
이후에 그것을 추가한 후에 우리의 프로젝트를 구축하고 테스트할 것이다.- uses: appwrite/setup-for-actions@v1
with:
endpoint: 'https://[HOSTNAME_OR_IP]/v1'
project: '${{ secrets.APPWRITE_PROJECT }}'
key: '${{ secrets.APPWRITE_API_KEY }}'
[HOSTNAME_OR_IP]
Appwrite 서버를 가리키는 주소로 교체해야 합니다.project
와 key
에 대해 우리는 GitHub Secrets를 사용하여 API 키와 같은 민감한 정보의 유출을 방지할 것이다.비밀을 어떻게 추가하는지 모르면 click here 공식 문서를 읽으세요.GitHub 저장소에 다음 비밀을 생성합니다.
APPWRITE_PROJECT
APPWRITE_API_KEY
functions.write
작용역의 권한을 가져야 합니다.appwrite
명령을 사용하여 CLI에 액세스할 수 있습니다.test
이후에는 CLI를 사용하여 기능을 배포하는 다른 단계를 추가합니다.- name: Deploy
run: |
appwrite functions createTag \
--functionId='[FUNCTION_ID]' \
--command="dotnet appwrite-dotnet-function-example.dll" \
--code="bin/Release/net5.0/"
[FUNCTION_ID]
Appwrite 대시보드에서 찾을 수 있는 함수 ID로 대체해야 합니다.--command
매개 변수는 함수를 실행할 때마다 실행되는 명령입니다.노드에 사용됩니다.js는 node index.js
일 거예요.--code
매개 변수는 함수의 저장 위치를 가리킨다.함수가 저장소의 루트 디렉터리에 저장되면 --code="."
전체 저장소를 포장하고 배치할 수 있습니다.찾을 수 있습니다complete workflow file here.
STEP 3-Push 및 배포 기능
이 워크플로우 파일을 GitHub 저장소로 밀어 넣으면 GitHub에서 자동으로 실행되므로 GitHub 저장소의 작업 섹션에서 로그를 찾을 수 있습니다.
이 행동은 나의 기분을 고조시켰다.NET 프로젝트를 내 Appwrite 서버에 배치합니다.함수 아래의 Appwrite 대시보드에서 태그를 찾을 수 있습니다.
결론
GitHub은 최근 개인 저장소에 무료 조작과 매달 2000분의 구축 시간을 제공했다.이를 통해 Appwrite Functions 자동화our GitHub action 배포를 사용할 수 있습니다.
도움이 필요하거나 CI에서 Appwrite를 설정하는 데 어려움이 있으면 join our Discord로 전화하십시오.
도구책
Reference
이 문제에 관하여(GitHub을 사용한 Appwrite 기능 배포 자동화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/appwrite/automate-appwrite-functions-deployment-with-github-actions-ci-5bef텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)