웹 애플리케이션 코드 준비
이 단원에서는 웹 애플리케이션용 코드를 만들어 소스 제어 리포지토리에 통합하는 방법을 알아봅니다.
웹 애플리케이션 부트스트랩
웹 애플리케이션을 배포하기 위한 리소스를 만들었으며 이제 배포할 코드를 준비해야 합니다. 새 웹 애플리케이션을 부트스트랩하는 여러 방법이 있으므로 여기에서 알아볼 것은 익숙한 방법과 다를 수도 있습니다. 목표는 배포까지의 전체 주기를 완료하기 위한 시작점을 신속하게 제공하는 것입니다.
참고
이 페이지에 표시되는 모든 코드 및 명령은 설명만을 위한 것이며 실행할 필요는 없습니다. 이후의 연습에서 사용할 것입니다.
.NET SDK의 일부인 dotnet
명령줄 도구를 사용하면 새 웹 애플리케이션용 코드를 직접 만들 수 있습니다. 특히 dotnet new
명령을 사용하여 템플릿에서 새 애플리케이션을 생성할 수 있습니다.
dotnet new mvc --name <YourAppName>
이 명령은 지정된 이름을 사용하여 새 폴더에 새 ASP.NET Core MVC(Model-View Cotroller) 애플리케이션을 만듭니다.
시작 웹 애플리케이션을 신속하게 만들려면 Java 에코시스템에서 일반적으로 사용되는 Maven(mvn
) 명령줄 도구를 사용할 수 있습니다. 특히 Maven에는 템플릿을 사용하여 여러 종류의 애플리케이션을 위한 시작 코드를 빠르게 만들 수 있는 archetypes라는 기능이 있습니다. maven-archetype-webapp
템플릿을 사용하여 홈페이지에 “Hello World!”를 표시하는 간단한 웹앱을 위한 코드를 생성할 수 있습니다.
mvn archetype:generate -DgroupId=example.webapp -DartifactId=helloworld -DinteractiveMode=false -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=1.5
이 명령은 애플리케이션의 소스 코드를 포함하는 helloworld
폴더를 만듭니다.
Node.js와 함께 제공되는 노드 패키지 관리자(npm
) 명령줄 도구를 사용하여 새 애플리케이션을 만들 수 있습니다. init
명령은 애플리케이션에 필요한 새 package.json
을 만듭니다.
npm init -y
현재 폴더에서 만든 package.json
파일을 여는 경우 scripts
섹션에 start
항목을 추가하여 웹 애플리케이션을 실행하는 방법을 설명할 수 있습니다.
...
"scripts": {
"start": "node index.js"
},
...
이 작업을 완료한 후에는 새 index.js
파일에서 웹 애플리케이션의 실제 코드를 작성할 수 있습니다.
const http = require('http');
const port = process.env.PORT || 3000;
http.createServer(function(request, response) {
response.writeHead(200, { 'Content-Type': 'text/plain' });
response.end('Hello World!');
}).listen(port);
console.log(`Server running at http://localhost:${port}`);
이 예제 코드는 컴퓨터의 포트 3000에서 수신 대기하고 “Hello World!”를 사용하여 모든 요청에 응답하는 서버를 만듭니다.
몇 줄의 코드를 사용하여 새 시작 웹 애플리케이션을 만들기 위해 일반적으로 많이 사용되는 웹 애플리케이션 프레임워크인 Flask를 사용할 수 있습니다. 다음 명령을 사용하여 Flask를 설치할 수 있습니다.
pip install flask
환경에서 Flask를 사용할 수 있게 되면 다음 코드를 사용하여 최소 웹 애플리케이션을 만들 수 있습니다.
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!\n"
이 예제 코드는 “Hello World!”를 사용하여 모든 요청에 응답하는 서버를 만듭니다.
소스 제어에 코드 추가
웹 애플리케이션 코드가 준비되었다면 다음 단계로 Git과 같은 소스 제어 리포지토리에 코드를 저장해야 합니다. 머신에 Git이 설치되어 있는 경우 소스 코드 폴더에서 이러한 명령을 실행하면 리포지토리가 초기화됩니다.
git init
git add .
git commit -m "Initial commit"
이러한 명령을 사용하면 로컬 Git 리포지토리를 초기화하고 코드를 사용하여 첫 번째 커밋을 만들 수 있습니다. 커밋을 사용한 변경 기록 유지라는 이점을 바로 얻을 수 있습니다. 나중에 GitHub에서 호스트되는 등의 원격 리포지토리와 로컬 리포지토리를 동기화할 수도 있습니다. 이 동기화를 통해 CI/CD(연속 통합 및 지속적인 배포)를 설정할 수 있습니다. 프로덕션 애플리케이션에 소스 제어 리포지토리를 사용하는 것이 좋지만 애플리케이션을 Azure App Service에 배포할 수 있어야 하는 것은 아닙니다.
참고
CI/CD를 사용하면 모든 코드 변경에 대해 빌드, 테스트 및 배포를 자동화하여 신뢰할 수 있는 방식으로 코드를 더 자주 배포할 수 있습니다. 애플리케이션의 새로운 기능과 버그 수정을 더 빠르고 더 효과적으로 제공할 수 있습니다.