1개요 1.1 기사의 목적 이 글에서는 예제를 통해 소프트웨어 개발 서비스(DevCloud)를 사용해 C# 웹 프로젝트 개발을 완성하는 방법을 소개합니다. 1.2 프로젝트 세부사항
![]()
1. 프로젝트 이름: 슈퍼 콜드 조크 웹사이트 2. 프로젝트 소개: 사용자 로그인, 등록, 그리고 농담 탐색 같은 기능을 포함하는 웹사이트입니다. 3. 개발 프로그래밍 언어: ASP.NET MVC5 (C#) 4. 프로젝트 유형: ASP.NET B/S 아키텍처를 기반으로 한 웹 프로젝트 5. 배포 환경: Windows + IIS + MySQL 6. 배포 방법: Ansible 배포 + 플레이북 스크립트
![]()
일반적인 B/S 아키텍처 시스템에서는 사용자가 인터넷을 통해 시스템에 접근하고, 클라이언트가 사용자의 작업을 처리하고 데이터베이스에 데이터를 읽거나 씁니다. 1.3 백본 프로세스 이 글의 주요 프로세스는 코드 호스팅, 컴파일 및 빌드, 릴리스(소프트웨어 릴리스 라이브러리), 배포입니다. 개발자들은 로컬 개발 후 버전 관리를 위해 코드 호스팅 서비스를 사용합니다. 프로젝트가 일정 수준 개발되면 컴파일되고 빌드될 수 있으며, 릴리스 서비스를 통해 소프트웨어 패키지를 구축하고 보관할 수 있습니다. 패키지는 서버에 배포되어 외부에서 접근할 수 있습니다.
![]()
1.4 선수 조건 1. HUAWEI CLOUD 계정 등록: HUAWEI CLOUD 공식 웹사이트에서 HUAWEI CLOUD 계정을 등록하세요. 이 사이트는 모든 HUAWEI CLOUD 제품에 적용됩니다. 2. ECS: 배포에는 공인 IP가 있는 ECS가 사용됩니다(Windows Sever 2012).
2 프로젝트 관리 2.1 프로젝트 만들기 신규 프로젝트를 위한 개발 프로세스는 스크럼 프로세스와 칸반 프로세스 두 가지 유형이 있습니다. 스크럼 프로세스는 표준 애자일 개발 프로세스이며, 작업 항목 계층 구조는 전통적인 스크럼 분할 방식인 Epic->Feature->Story->Task&Bug입니다.
![]()
2.2 반복 생성 이 프로젝트의 연구개발 주기는 짧아 단 하나의 릴리스로 이루어져 세 번의 반복으로 나뉘며, 반복 주기는 1주일입니다.
![]()
2.3 제품 요구사항 목록을 정리하기 프로젝트 계획은 작업 항목의 계층적 구조를 마인드맵 형태로 표시하고, 부모-자식 관계를 보다 직관적으로 보는 것입니다. 프로젝트 계획에서 새 작업 항목을 생성한 후, 이 항목은 자동으로 이후 Epic, Feature, Backlog 및 반복 페이지로 생성됩니다. 반복 시작 전에 프로젝트 매니저는 고객으로부터 얻은 모든 수요 정보를 하나씩 프로젝트 계획에 반영하고, 이를 스토리로 분해하며, 작업 항목의 우선순위를 설정합니다.
![]()
3 코드진행 3.1 저장소 생성 Ø 새로운 코드 저장소를 만들 때는 "템플릿 만들기"를 선택하고, 검색 상자에 샘플 템플릿으로 노출된 저장소 이름을 입력한 후 템플릿을 선택하세요. ("superjokes"를 여기서 검색, 프로그래밍 언어 선택 ASP.NET)
![]()
새 저장소 이름(템플릿 저장소와 같은 이름일 수 있음)을 입력하여 코드 저장소를 생성하세요
![]()
데이터베이스 비밀번호 변경:(필수, 그렇지 않으면 배치가 성공하지 못합니다) superjokes/src/Joke.Web/App_Data 디렉터리의 appsettings.config를 수정하세요. 데이터베이스 설정에서 비밀번호(33번 줄의 비밀번호=)를 배포할 호스트의 데이터베이스 비밀번호로 변경하세요.
![]()
4 컴파일 빌드 4.1 빌드 작업 생성 Ø 새 작업을 생성하고, "템플릿 선택 화면"에서 msbuild를 선택한 후 확인을 눌러 작업 템플릿 생성을 완료하세요. "컴파일, 빌드 작업" 화면으로 이동하세요.
![]()
Ø 빌드 세부사항을 입력하세요 작업 설명, 소스 코드 저장소 분기 등은 선택 사항입니다.
![]()
Ø Msbuild build msbuild15-all 이미지 사용 시 msbuild 빌드 프로세스
![]()
명령어를 입력하세요:
![]()
지휘부 노트: 이 코드 프로젝트의 SLN 파일 경로가 /src 디렉터리에 위치하기 때문에, cd src 명령어가 먼저 명령줄에서 실행됩니다.
![]()
5 출시 이 프로젝트에서는 퍼블리싱 서비스가 빌드에서 생성된 실행 파일을 릴리스 저장소에 업로드하여 패키지 관리를 쉽게 할 수 있습니다. Ø 버전 아카이빙 해당 압축 명령어는 Msbuild 빌드 과정에서 작성되었습니다. Upload package to release repository(Windows 환경) 단계에서 빌드 패키지 경로, 릴리스 버전 번호, 패키지 이름을 지정한 후, 빌드된 패키지를 릴리스 저장소에 업로드하여 자동 소프트웨어 버전 관리를 할 수 있습니다.
![]()
6 배치 배포 작업의 목적은 구축된 패키지를 우리가 접근할 수 있는 서버에 배포하는 것이며, 배포가 성공하면 브라우저를 통해 주소에 접근할 수 있습니다. 배포 작업은 호스트 크레딧, 배포 스크립트 작성, 작업 설정, 배포 실행 네 부분으로 나뉩니다.
![]()
웹 프로젝트가 C#으로 작성되었기 때문에, 서버는 탄력적인 IP 주소를 가진 윈도우 서버여야 합니다. 호스트가 부여되기 전에 호스트 환경이 그에 맞게 구성되어야 합니다. 6.1 호스트 환경 구성 1. MySQL 설치. 2. 데이터베이스 구성 스크립트를 사용하여 서버에서 MySQL 데이터베이스를 생성하는데, 이 스크립트는 코드 저장소의 루트 디렉터리에 위치한 superjokes.sql입니다.
![]()
6.2 진행자 크레딧 서버 호스트를 DevCloud에 할당하여 웹사이트 배포를 지원하세요. 6.3 배포 스크립트 플레이북 스크립트를 통해 파워셸 명령을 실행하여 프로젝트를 서버의 IIS 서비스에 배포합니다. Ø Get the deployment script 코드 저장소 IIS-windows-1.0.zip의 루트 디렉터리에서 플레이북 스크립트를 다운로드하여 DevCloud의 플레이북 관리에 업로드하세요. 6.4 작업 구성 Ø Create a new non-template deployment task. 배포 작업 이름을 입력하고, 배포 설정에서 Ansible 배포를 선택하고, 템플릿의 Custom Playbook을 선택한 뒤, 업로드한 플레이북 스크립트를 선택하세요.
![]()
배포할 서버를 선택하고, 포트를 설정하고, 배포할 패키지를 선택한 후 웹사이트의 기본 페이지를 설정하세요.
![]()
플레이북 매개변수 설명: webapps_path: 패키지 배포 경로, 대상 호스트의 경로 app_filename: 배포에 사용된 패키지 이름
sitePort: 网站端口(提供一个目标主机上可访问的端口号)
SiteName: 网站名称,启动IIS服务时为该网站命名
SiteAppPoolsModel: Integrated 不必修改
managedRuntimeVersion: v4.0 不必修改
WebSitePath: IIS服务中网站源文件路径
IISLogFile: IIS服务中的日志存储路径 win_curl_path: 수정할 필요 없어 6.5 전개 효과 보기 배포 작업이 실행된 후에는 http://ip: Port/Default 페이지를 통해 웹사이트에 접속할 수 있습니다
![]()
현재 DevCloud에서 C# 웹 프로젝트 구축을 완료했습니다.
|