-
AzureWebApp에 ASP(.NETFramework)로 CI/CD - 1 연결 기초GitHub 2022. 2. 21. 12:00728x90
Azure Web Apps에 GitHub ACTIONS 연결 기초
Azure Actions로 가상머신에서 미리 테스트 실행한 프로젝트를 에러가 없으면 Azure Web App 에 업로드 까지 자동으로 해주는 과정의 기초다 문제는 .Net FrameWork는 msbuild라는 명령어를 사용해야 하는데 현재는 거의 자료가 없는 관계로 프로젝트 파일이 늘어날때마다 고생할 것으로 보인다.
연결 과정 설명
- 웹 프로젝트(.Net FrameWork) 생성(프로젝트 생성방법의 설명은 생략하겠다. VS에서 평범하게 생성하자 일단 별도의 프로젝트를 추가하지는 말자)
- Git 변경 내용 창에서 Git 레포지트리 만들기를 눌러 현재 프로젝트를 Git에 업로드한다.(Visual Studio용 Git Ignore 파일도 생성해두는게 좋다)
![image](https://user-images.githubusercontent.com/39551265/154828170-e97d4407-9668-41e4-bba3-61f7ece27f0e.png)
- Git Hub에 잘 업로드 됬는지 확인한다(Git Hub 사용법 자체는 여기서는 생략하겠다.)
- Azure Potal에 접속해보자
- 리소스 만들기 클릭
- 웹 앱 바로 아래의 만들기 클릭
- 기본 페이지에 필수 항목 기재 이때 런타임 스택을 ASP.Net V4.8 를 선택하자(https://docs.microsoft.com/ko-kr/learn/modules/host-a-web-app-with-azure-app-service/?WT.mc_id=azureportalcard_Service_App%20Services_-inproduct-azureportal)
- 다음: 배포 > 클릭
- 지속적인 배포의 설정을 사용으로 변경하자
- Git Hub 계정을 연결
- 조직은 현재 Git Hub에 속한 조직중에서 선택
- 레포지터리는 방금 만든 프로젝트를 업로드한 곳을 선택
- 분기는 master 혹은 업로드시에 사용할 별도의 분기를 사용하자(master를 선택하면 master에서 Push가 일어날시 Azure Apps에 업로드하도록 설정된다)
- 전부 기입했으면 워크플로 구성을 확인하자 아래와 비슷할 것이다.
# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy # More GitHub Actions for Azure: https://github.com/Azure/actions
name: Build and deploy ASP app to Azure Web App - 앱이름
on:
push:
branches:
- main
workflow_dispatch:jobs:
build:
runs-on: windows-lateststeps: - uses: actions/checkout@v2 - name: Setup MSBuild path uses: microsoft/setup-msbuild@v1.0.2 - name: Setup NuGet uses: NuGet/setup-nuget@v1.0.5 - name: Restore NuGet packages run: nuget restore - name: Publish to folder run: msbuild /nologo /verbosity:m /t:Build /t:pipelinePreDeployCopyAllFilesToOneFolder /p:_PackageTempDir="\published\" - name: Upload artifact for deployment job uses: actions/upload-artifact@v2 with: name: ASP-app path: '/published/**'
deploy:
runs-on: windows-latest
needs: build
environment:
name: 'production'
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}steps: - name: Download artifact from build job uses: actions/download-artifact@v2 with: name: ASP-app - name: Deploy to Azure Web App id: deploy-to-webapp uses: azure/webapps-deploy@v2 with: app-name: '앱이름' slot-name: 'production' publish-profile: ${{ secrets.AzureAppService_PublishProfile_1234 }} package: .
15. 만들기를 클릭 16. 생성된 웹 리소스를 확인한다. 17. 현재 GitHub master 에서 Push를 한 것이 없어서 아무 설명이 없을 것이다. 18. VS에서 Pull을 해보자 .GitHub/WorkFlows 폴더에 yml파일이 생성된걸 확인할 수 있다 19. 적당히 소스를 변경후 master에 Push를 해보자(주석등을 늘려서) 20. [Git Hub](https://github.com/)에 접속해 프로젝트가 포함된 레포지터리에 들어간다. 21. 상단 메뉴창 중 Actions로 들어간다.<br> ![image](https://user-images.githubusercontent.com/39551265/154828179-0f63e5c0-d1ca-445e-8863-277b9a527f06.png) 22. 방금 push할때 Commit 내용으로 WorkFlow가 추가된 것을 확인할 수 있다.<br> ![image](https://user-images.githubusercontent.com/39551265/154828181-d34fbf91-babb-4aa2-aea0-b8a0e92ca7fe.png) 23. Commit 내용을 클릭해 WorkFlow를 자세히 확인하자(이때 Push한지 얼마 안됬다면 내용 앞의 아이콘이 다를 것이다) 24. 눌러확인하면 Linux에서 작성된 yml 파일을 읽어 실행되고 있는걸 확인할 수 있다. 25. 아무 에러가 없다면 Azure에까지 업로드가 되었을 것이다. 다시 Azure Potal로 돌아가 해당 리소스로 돌아가서 생성된 웹 앱 주소로 들어가 확인하다. 26. 19번 과정부터 이후까지를 반복해 실제로 업로드가 되는지 확인하면 된다.
728x90반응형'GitHub' 카테고리의 다른 글
Github Actions CI/CD 3 - 기초 yml파일 필수 수정필요 부분 (0) 2022.02.27 AzureWebApp에 ASP(.NETFramework)로 CI/CD 2 -사용할 yml파일 형태설명 (0) 2022.02.22