Flubucore 를 이용 하여 C\#로 DevOps 스 크 립 트 를 쓰 는 방법 에 대한 상세 한 설명

머리말
최근 몇 년 동안 마이크로 서비스 가 유행 하면 서 점점 더 많은 개발 자 와 팀 이 받 아들 이 고 사용 했다.이 는 많은 장점 을 제공 하고 많은 문 제 를 해결 했다.그러나 우 리 는 은 탄 이 아니 라 장점 을 제공 하 는 동시에 우리 의 개발 자 와 단체 에 도 많은 도전 을 가 져 왔 다 는 것 을 알 고 있다.
이런 신기 술 을 맞이 하거나 사용 하기 위해 개발 팀 은 절차 나 도구 의 사용 을 더욱 중시 해 야 이런 신기 술 이 가 져 온 문제 에 더욱 잘 적응 할 수 있다.절차 행 문제 에 대해 민첩 한 Scrum 은 제품 개발 팀 간 의 협력 문 제 를 잘 향상 시 킬 수 있다.그러면 응용 이 점점 복잡 해 지 는 상황 에 대해 가장 직접적인 문 제 는 바로 개발 운영 의 복잡성 을 가 져 온 것 이다.이때 우 리 는 도구 로 해결 해 야 한다.
운영 의 복잡성 을 개발 하 다.
말 그대로 개발 운영 의 복잡성 은 개발 의 복잡 함 과 운영 의 복잡 함 을 말 하 며 어떻게 복잡 한 지 구체 적 으로 말 해 보 자.
우 리 는 먼저 개발 의 복잡성 을 말 하고 응용 은 단일 에서 분포 식 으로 바 뀌 며 분포 식 시스템 이 직면 하 는 모든 문 제 를 처리 해 야 한다.저 는 예전블 로그에서 대체적으로 도전 에 직면 했다 고 말 했 습 니 다.관심 있 는 친구 들 은 뛰 어 넘 어 볼 수 있 습 니 다.
그 밖 에 직면 하 는 또 다른 문제 도 복잡 해 질 수 있다.바로 응용의 구축 과 발표 와 배치 이다.관련 된 서비스 가 매우 많 기 때문에 많은 문 제 를 가 져 왔 기 때문에 이런 문제 들 을 개발 하고 처리 해 야 한다 고 생각 할 수도 있 고 운영 해 야 한다 고 생각 할 수도 있다.그러면 함께 개발 운영 문제 라 고 할 수 있다.
이런 개발 운영 문제 에 대해 업계 에 서 는 DevOps 지원 이 나 왔 다.
DevOps
DevOps(Development 과 Operations 의 조합 어)는 개발(응용 프로그램/소프트웨어 공학),기술 운영 과 품질 보장(QA)부서 간 의 소통,협력 과 통합 을 촉진 하 는 데 사용 되 는 과정,방법 과 시스템 을 통칭 한다.
이러한 통합 은 마이크로 서비스 팀 에서 특히 중요 해 졌 다.통합 과정 에서 많은 도 구 를 사용 하여 발생 하 는 문 제 를 해결 해 야 한다.한 마디 로 하면 천 마디 말 을 이 길 수 있다.

위의 그림 에서 보 듯 이 Build 와 CI/CD 단계 에서 많은 도 구 를 사용 해 야 합 니 다.우 리 는 스 크 립 트 를 써 서 이 도 구 를 공동 작업 할 수 있 도록 해 야 합 니 다.보통 우 리 는 셸 스 크 립 트 를 사용 한 다음 에 이 도구 들 이 제공 하 는 cli 명령 행 을 호출 한 다음 에 구축 플랫폼 에서 촉발 합 니 다.예 를 들 어 Jenkins 나 GitLab CI,Team City 등 입 니 다.
그렇다면 셸 에 익숙 하지 않 은 학생 이나 셸 을 사용 하 는 효율 이 너무 낮 고 유지 하기 가 불편 하 다 고 생각 하 는 다른 도 구 는 사용 할 수 있 습 니까?C\#직접 쓸 수 있 습 니까?답 은 당연히 있 습 니 다.오늘 은 이기 플 루 부 코 어 를 강력 추천 합 니 다.
Flubucore 가 뭐 예요?

FlubuCore는 크로스 플랫폼 의 자동화 구축 과 배치 시스템 으로 C\#코드 로 프로젝트 를 구축 하고 배치 스 크 립 트 를 실행 하 는 데 사용 된다.
Github: https://github.com/dotnetcore/FlubuCore
문서:https://flubucore-zh.dotnetcore.xyz/
FlubuCore 는 MIT 프로 토 콜 을 기반 으로 오픈 하여 현재.NET Foundation 재단 프로젝트 의 구성원 이 며,저자Marko Zorec도 우리 NCC 의 핵심 프로젝트 의 구성원 중 하나 입 니 다.
이제 C\#를 이용 하여 스 크 립 트 를 구축 하고 배치 할 수 있 으 며.NET Framework 와.NET Core 를 지원 할 수 있 습 니 다.다른 도구 나 언어 를 배 울 필요 가 없습니다.그리고 FlubuCore 는 Fluent 식 API 를 제공 하여 쓰기 가 멈 추 지 않 습 니 다.그림 보기:

향기롭다어서 가서Github스타 를 시 켜 서 지지 해 주세요.당신 의 작은 스타 도 전체.NET 생태 에 기여 합 니 다.
FlubuCore Getting Started
FlubuCore 가 제공 하 는 것 은중국어 Readme이 있 지만 간단하게 여러분 을 데 리 고 들 어 가 겠 습 니 다.
1.전역 명령 행 도구 설치
CMD 를 열 고 명령 을 실행 합 니 다.
dotnet tool install --global FlubuCore.GlobalTool
이 명령 의 주요 역할 은 전역 명령 행 도 구 를 설치 하 는 것 입 니 다.지속 적 으로 통합 되 는 플랫폼 은 다음 에flube이 명령 행 도 구 를 이용 하여 C\#사용자 정의 스 크 립 트 를 실행 할 수 있 습 니 다.
2.빈 해결 방안 을 새로 만 듭 니 다.

mkdir FlubuTest
cd FlubuTest
dotnet new sln
mkdir src
cd src
mkdir mywebapp
cd mywebapp
dotnet new webapp
dotnet sln ../../FlubuTest.sln add ./mywebapp.csproj
귀 찮 으 면 Visual Studio 를 새로 만 들 면 됩 니 다.
3.Flubucore 구축 프로젝트 추가
두 번 째 솔 루 션 루트 디 렉 터 리cd ../../로 전환 한 다음 build 의 입구 항목 을 만 듭 니 다.

dotnet new -i FlubuCore.Template
dotnet new FlubuCore
dotnet sln FlubuTest.sln add ./BuildScript/BuildScript.csproj
FlubuCore 를 솔 루 션 에 추가 하 는 것 은 주로 후속 적 으로 스 크 립 트 를 작성 하 는 데 편리 합 니 다.VisualStudio 의 스마트 알림 등 을 통 해 C\#코드 를 작성 하 는 것 과 같 습 니 다.사실은 C\#코드 입 니 다.물론 프로젝트 에 추가 하지 않 는 것 도 선택 할 수 있 습 니 다.
마지막 폴 더 구 조 는 대략 이 모양 입 니 다.

│──FlubuTest.sln
│
└──BuildScript
│  │ BuildScript.cs
│  │ BuildScript.csproj
└─src
 └─mywebapp
  │ appsettings.Development.json
  │ appsettings.json
  │ mywebapp.csproj
  │ Program.cs
  │ Startup.cs
4.Buildscript.cs 파일 수정
열기BuildScript/BuildScript.cs그리고

context.Properties.Set(BuildProps.SolutionFileName, "Todo");
Todo 솔 루 션 이름 변경

context.Properties.Set(BuildProps.SolutionFileName, "FlubeTest.sln");
BuildProps이 대상 은 주로 구축 과정 에서 문맥 정 보 를 제공 합 니 다.이 대상 을 설정 하면 flubu 에 더 많은 정 보 를 제공 하여 후속 적 인 사용 에 편리 하도록 할 수 있 습 니 다.
5.사용 시작
프로젝트 루트 디 렉 터 리 에서 cmd 를 열 고 다음 명령 을 사용 하여 프로젝트 를 컴 파일 합 니 다.
flubu compile
그 중에서compile은 파일_Build/BuildScript/BuildScript.cs의 이 코드 에 있 는 copile 입 니 다.마음대로 변경 할 수 있 습 니 다.명령 과 일치 해 야 합 니 다.

protected override void ConfigureTargets(ITaskContext context)
{
 var compile = context.CreateTarget("compile")
  .SetDescription("Compiles the solution.")
  .AddCoreTask(x => x.Build());
}
뒤에 기본적으로 당신 이 필요 로 하 는 구축 의 모든 것 을ConfigureTargets에 쓸 수 있 습 니 다.
마지막 출력:
D:\FlubuTest>flubu compile
Flubu v.4.3.5.0
Build script file name was not explicitly specified, searching the default locations:
Found it, using the build script file 'BuildScript/BuildScript.cs'.
Executing target compile
Executing task DotnetBuildTask
   Running program 'C:\Program Files\dotnet\dotnet.exe':(work.dir='',args=' build FlubuTest.sln')
   .NET Core 에 사용 되 는 Microsoft(R)생 성 엔진 버 전 16.6.0+5ff7b0c9e
   판권 소유(C)Microsoft Corporation.모든 권 리 를 유보 하 다.
     복원 할 항목 을 확인 하 는 중...
     모든 항목 이 최신 이어서 복원 할 수 없습니다.
     BuildScript -> D:\FlubuTest\BuildScript\bin\Debugetcoreapp2.1\BuildScript.dll
     mywebapp -> D:\FlubuTest\src\mywebapp\bin\Debugetcoreapp3.1\mywebapp.dll
     mywebapp -> D:\FlubuTest\src\mywebapp\bin\Debugetcoreapp3.1\mywebapp.Views.dll
   성공 적 으로 생 성 되 었 습 니 다.
       경고 0 개
       0 오류
   사용 시간 00:00:02.51
compile finished (took 3 seconds)
BUILD SUCCESSFUL
Build finish time: 2020/7/4 0:47
Build duration: 00:00:03 (3 seconds)
내 가 쓰 는 것 과 차이 가 있 느 냐 고 물 을 수도 있다.
이 예시 에 대해 말하자면,차이 가 없 지만,너 는 스스로 확장 할 수 있 잖 아.확장 하면 차이 가 있 잖 아.예 를 들 어 build 하기 전에 폴 더 를 정리 하 는 것 과 같은 것 은 이렇게 쓸 수 있 습 니 다.

 var compile = context.CreateTarget("compile")
    .SetDescription("Compiles the solution.")
    .AddCoreTask(x => x.Clean())
    .AddCoreTask(x => x.Build());
flubu 가 제공 하 는 능력 을 빌려 CI/CD 인터페이스 에서 복잡 한 구축 문 제 를 해결 할 수 있 습 니 다.
총결산
위 에 있 는 것 은 하나의 입문 일 뿐 입 니 다.프로젝트 가 꼭 필요 하 다 고 생각한다 면 공식 문서 에 가서 확인 할 수 있 습 니 다.그 안에 더 자세 한 사용 안내 가 있 습 니 다.물론 이 블 로그 아래 에 메 시 지 를 남기 거나 GitHub 에 가서 issue 문 의 를 제출 할 수도 있 습 니 다.
GitHub: https://github.com/dotnetcore/FlubuCore
FlubuCore 는 DevOps 스 크 립 트 를 신속하게 작성 할 수 있 는 능력 을 제공 합 니 다.이러한 능력 을 이용 하면 DevOps 를 더욱 간단 하고 효율 적 으로 만 들 고 시간 을 절약 할 수 있 습 니 다.
여기 서 FlubeCore 를 이용 하여 C\#로 DevOps 스 크 립 트 를 쓰 는 방법 에 대한 상세 한 설명 은 여기까지 입 니 다.더 많은 관련 C\#DevOps 스 크 립 트 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기