>  기사  >  백엔드 개발  >  Azure Web App의 사용자 지정 golang 시작 명령

Azure Web App의 사용자 지정 golang 시작 명령

王林
王林앞으로
2024-02-09 12:03:081008검색

Azure Web App 上的自定义 golang 启动命令

php 편집기 Strawberry는 오늘 Azure Web App의 사용자 지정 golang 시작 명령을 소개합니다. Azure Web App은 개발자가 웹 애플리케이션을 쉽게 배포하고 확장할 수 있도록 지원하는 관리형 클라우드 서비스입니다. Golang은 빠르고 안정적이며 간결한 효율적인 프로그래밍 언어입니다. golang 시작 명령을 사용자 정의함으로써 개발자는 웹 애플리케이션의 시작 프로세스를 더 잘 제어하고 보다 개인화된 기능을 달성할 수 있습니다. 이 문서에서는 개발자가 이 기능을 더 잘 활용할 수 있도록 Azure Web App에서 사용자 지정된 golang 시작 명령을 구성하고 사용하는 방법을 자세히 소개합니다.

질문 내용

Azure 앱 서비스에 github 액션이 포함된 Go 웹 앱을 배포하려고 합니다. azure/webapps-deploy@v2 를 사용하여 애플리케이션을 배포해야 할 때까지 전체 배포가 성공합니다.

문제가 무엇인지 확인하기 위해 간단한 go 'hello world' 테스트 애플리케이션을 만들었습니다. 이 매우 간단한 애플리케이션을 배포하기만 하면 됩니다. 그러나 테스트 애플리케이션을 배포하는 동안 다음과 같은 사실을 발견했습니다.

  • 실행 파일을 사용하여 실행하는 대신 앱이 Azure에서 완전히 다시 빌드되었습니다. 이전 배포 파일은 다음과 같았습니다.
으아악

이 배포에는 문제가 없습니다. 코드베이스 애플리케이션은 Azure Web Apps에 제공됩니다. 마지막 단계에서 실행 파일을 사용하려고 하면 배포가 실패합니다. 물론 Azure 웹앱에는 시작 명령을 설정하기 위한 사용자 지정 필드가 있습니다. 시작 시 실행 파일을 실행하기 위해 ./main로 설정하려고 시도했지만 여전히 실패했습니다.

으아악

go build main.go를 사용하여 내 로컬 컴퓨터에 go 앱을 빌드한 다음 go build main.go 在我的本地计算机上构建 go 应用程序,然后执行 ./main 실행하면 앱이 문제 없이 실행됩니다.

  • 이전 단계에서 실행 파일을 바로 실행할 수 없었기 때문에 롤백하고 Azure App Service가 go 앱을 그대로 실행하도록 하기로 결정했습니다. 그렇다면 전체 빌드 단계가 더 이상 필요하지 않으며 Azure 웹 서비스에 코드를 푸시하기만 하면 됩니다. 이렇게:
으아악

전체 코드베이스를 푸시해야 함에도 불구하고 여전히 훌륭하게 작동합니다. 그러나 우리 프로덕션 애플리케이션에서는 구조적 이유로 인해 main.go 파일이 루트 디렉터리에 위치하지 않습니다. 이 동작을 모방하기 위해 main.go 파일을 /cmd 디렉터리에 배치했습니다. Azure 웹앱 배포가 다시 실패했습니다. 이는 Azure가 main.go 파일을 찾을 수 없기 때문일 수 있다고 추측할 수 있습니다. 다시 시작 명령을 사용하고 싶은데 이번에는 go 运行 cmd/main.go를 사용합니다. 안타깝게도 이것도 작동하지 않습니다.

azure 웹 앱은 파이프라인을 실행할 때 빌드된 모든 것을 보여줍니다.

제안사항이 있나요? 내가 여기서 무엇을 놓치고 있는 걸까요?

이전 단계에서 생성한 실행 파일을 Azure 웹 앱에 업로드하고 거기서 실행 파일을 실행하는 방법에 대한 솔루션이 있나요?

해결 방법

먼저 Azure 웹 앱에서 환경 변수를 설정해야 합니다. website_run_from_package1. 이렇게 하면 빌드가 Azure에서 다시 실행되지 않습니다. 이제부터 사전 빌드된 실행 파일을 업로드할 수 있습니다.

또한 특정 실행 파일을 실행하려면 시작 명령을 설정해야 했습니다.

이 작업을 수행한 후 https://appname-here.scm.azurewebsites.net/api/logstream

에 대한 로그에 다음이 표시됩니다. 으아악

버전이 나타납니다. glibc_2.34 是因为该应用程序是使用 ubuntu-latest 在管道中构建的。这是 ubuntu-22.04,其中有 glibc_2.35 但要运行的 azure 计算机没有此版本。使用 ubuntu-20.04 版本 glibc_2.31 완벽하게 빌드하고 실행하세요.

위 내용은 Azure Web App의 사용자 지정 golang 시작 명령의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제