내부 ASP.NET 웹 애플리케이션을 배포하기 위해 설치자를 작성하는 사람이 있습니까?

StackOverflow https://stackoverflow.com/questions/489565

문제

FTP (때로는 Xcopy)를 통해 항상 웹 응용 프로그램을 배포 한 다음 데이터베이스 스크립트를 직접 실행했습니다.

90 년대 에이 방법을 배포하기 시작했지만 최근에는 설치자가있는 몇 가지 웹 앱을 보았습니다. 날짜가 좋은 과정에 갇혀 있다면 질문하기 시작했습니다. 저는 컨설턴트이고 내 앱은 일반적으로 내부적이므로 다른 사람들이 배포하고 설치하는 것에 대해 걱정하지 않습니다.

그러나 나는 궁금합니다. 내부 ASP.NET 웹 애플리케이션을 배포하기 위해 설치자를 작성하는 사람이 있습니까?

그렇다면 왜? (자발적으로, 의무화 또는 자동화 프로세스의 일부)

이런 식으로 문제가 있습니까?

도움이 되었습니까?

해결책

물론. 우리는 그것을 사용하여 모든 앱을 수행합니다. 이렇게하면 설치 프로그램을 만들어 QA 및 UAT 환경에서 실행하여 테스트하고 생산에서 무슨 일이 일어날 지 정확히 알고 있습니다. 누군가가 어떤 일을 할 수 있는지 또는 단계를 놓치는 지에 대한 추측은 없습니다. 상황이 훨씬 쉬워집니다.

OOH 나도 자동 프로세스를 잊었습니다. 적절한 환경에 자동으로 배포하는 시스템 (Ant Hill Pro)이 있습니다. QA 사람들은 오전 2시에 끝나기 때문에 QA 사람들은 무언가를 기다릴 필요가 없습니다. 업데이트로 빌드를 다시 실행 해야하는 경우 개발자가 코드를 확인하고 버튼을 누르면 자동으로 배포됩니다. 그가 회의에 있거나 아프거나 무엇이든 있기 때문에 빌드 엔지니어를 기다리지 않습니다.

다른 팁

항상 자동화하고 배포하는 자동화 된 방법을 원합니다. 특정 단계를 잊어 버리면 일회성 오류의 가능성이 크게 줄어 듭니다. 또한 100 개의 맞춤형 단계를 가르치지 않고 배포를 다른 사람에게 쉽게 오프로드 할 수 있습니다. 프로젝트가 내부인지 여부에 관계없이 모든 응용 프로그램은 모범 사례를 따라야합니다.

개인적으로 나는 OP와 비슷합니다. 일반적으로 나는 단지 FTP를 사용하여 배포하지만 일반적으로 내 응용 프로그램은 내부 또는 다른 프로젝트의 경우 100% 관리자라고 말합니다.

나는 또한 최근에 이것에 대해 생각해 왔으며, 적절한 배포를 사용하는 방법에 대해 생각하기 시작했습니다. 세부적인 설치 프로세스를 문서화 해야하는 것은 진정한 고통이 될 수 있습니다.

나는 사용한다 PowerShell 많은 작업을 자동화하기가 쉽습니다. 당신은 아마도 처음에는 조금 다르게 찾을 수 있지만 결국에는 그것이 .net 라이브러리의 힘에 관한 것임을 알 수 있습니다 !!!

나는 "웹 설정 프로젝트"A의 출력을 설치 한 MSI를 만들려면"웹 배포 프로젝트"내부 앱의 경우. 당사의 서버 관리자는 50 단계 수동 설치를 수행하는 작업을 수행하지 않았습니다. 현재 앱의 경우 서버 관리자는 MSI 설치 프로그램의 '블랙 박스'느낌을 좋아하지 않으며 파일을 얻는 것을 선호합니다. 파일 및 50 단계 배포 매뉴얼. (여기 패턴 참조? 서버 관리자에게 원하는 것을 물어보십시오.)

웹 설정 프로젝트는 "기본 웹 사이트"이외의 다른 것에 설치하는 방법을 즉시 명확하게 만들지 않습니다. 그 외에는 설치 프로세스를 반복 할 수있게 만들고 롤백으로 내장 된 내장을 만들었습니다 (1에서 설치자를 실행하여 1에서 설치자를 실행하여. 버전 이전).

물론 Virtual Directory는 사용자 수정 된 컨텐츠를 보유하지 않는다고 가정합니다. 사용자가 만든 새 파일과 새 파일을 올바르게 병합하는 MSI를 신뢰하지 않습니다.

OPS 사람들은 서버의 새로운 웹 애플리케이션에서 보안을 설정하는 방법이 있기 때문에 여기에서 "Xcopy"배포 모델을 사용합니다.

그러나 최신 버전의 Crystal Reports를 사용하는 웹 애플리케이션을 설치해야 할 때는 키로 특별한 일을해야했기 때문에 설치 프로그램을 사용해야했으며 CR의 전체 버전이 없었기 때문에 설치자를 설치해야했습니다. 서버 자체. 따라서 타사 앱으로 작업 할 때는 MSI가 쉽게 처리 할 수있는 일종의 병합 모듈을 수행해야 할 수도 있습니다.

그렇습니다 ... 우리는 많은 사전 반품이 필요한 앱을 가지고 있습니다 .... 웹 서비스, Windows 서비스, 사용자 계정, 보안, 폴더 생성, GAC 비트 등 .... 깨끗하게 설치하고 제거 할 수있는 사용자 정의 작업이 장착 된 멋진 MSI. 새 상자에 배치하기 위해 약 1 시간 분량의 작업을 저장했습니다.

다른 작은 앱 중 많은 부분이 게시 웹 사이트를 로컬 폴더에 수행 한 다음 컨텐츠를 대상에 FTP '하여 배포합니다.

프로젝트의 규모, 환경 및 내부 사용자 기반에 크게 의존합니다. 여러 환경을 갖기에는 너무 작아서 MSI로 거의 배포되지 않습니다 (SharePoint를 제외하고는 모두 다릅니다). 우리는 VS를 개발하고 사용하여 웹 앱을 개발 상자에 배포하고, 승인되었다고 가정하고, 우리는 다시 사용하여 라이브 박스에 배포하기 위해 다시 사용합니다.

유일한 조항은 Web.config의 여러 사본 (Test, Dev 및 Live)의 여러 사본이 있다는 것입니다. 그런 다음 배치 된 위치에 따라 관련 파일에서 접미사를 삭제합니다.

아마도 최고의 방법론은 아니지만 (나는 그것이 아님을 알고 있습니다), 그것은 작동하며 중소 규모의 사용자 환경에서 중소 규모의 솔루션을 빠르게 배포하는 데 도움이됩니다.

f5todebug ...

제대로 할 시간이 없다면 지름길을받는 것이 좋습니다.

"누가 테스트 환경에서 코드를 테스트 할 것인가?" 당신은 _test에 대한 구성 파일이 있다고 스스로 말했습니다. 왜 그것이 적합한 테스트가 아닌가?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top