8

최대한 많은 언어/플랫폼을 지원하는 콘 코스 빌드 서버 (http://concourse-ci.org/)를 설치하려고합니다.Windows 컨테이너로

Windows Server 2016부터 Windows를 컨테이너로 사용할 수 있음을 읽었습니다. 콩 투스 (Concourse)는 여러 플랫폼이 지원되는 웹 사이트 (Windows 포함)에 글을 쓰고 있기 때문에 Windows 컨테이너를 사용할 수 있는지의 여부가 궁금합니다.

Windows 컨테이너를 실행할 수없는 경우 컨테이너 대신 컨테이너를 사용하여 가로축을 회전시킬 수 있습니까?

+0

:

모두가 우리와 비슷한 출력을 성공적으로 빌드를 볼 수 잘 갔다하면? 나는 그것이 지원되지 않는다고 묻고 말했다. –

답변

0

Concourse가 모든 컨테이너 작성을 Garden API에 위임하므로 이론상 Garden-Windows을 통해이를 수행 할 수 있어야합니다.

이 작업을 한 번도 해본 적이 없으므로 어디서부터 시작해야하는지 전혀 알지 못합니다.

4

불행히도, 내가 찾을 수있는 페이지가 있습니다. 나는 또한 hello world와 같은 단순한 파이프 라인으로 시도했지만 작동시키지 못했습니다. 누군가를 공유하는 것만으로도 it의 혜택을 누릴 수 있습니다.

TSA를 준비하면서 ssh 키를 생성하는 것과 같은 부분을 생략했습니다. 윈도우 노동자

준비

이제 우리는 우리가 중앙 홀 노동자에 전환됩니다 우리의 Windows 서버에 우리의 관심을 켜십시오.

처음에 우리는 작업자 서비스에 대한 우리의 바이너리와 데이터를 수용하기 위해 디렉토리를 설정하는 것이 좋습니다 즉 C : \ 광장

C:\> mkdir concourse 
C:\> cd concourse 
C:\concourse> 

이제 윈도우 콩 코스 바이너리 ("concourse_windows_amd64.exe 같은 이름이 뭔가를 다운로드 ")을 Concourse 다운로드 페이지에서 다운로드하여 작업 디렉토리에 저장하십시오. 또한 "tsakey.pub"및 "workerkey"파일도 복사해야합니다.

우리가 "tsakey.pub"로 로컬 콩 코스 바이너리를 제공한다는 사실은 우리가 TSA 서버를 배포에서 신뢰한다는 것을 입증합니다.

이제 작업자를 시작하고 TSA에 등록 할 준비가되었습니다.

C:\concourse> .\concourse_windows_amd64.exe worker \ 
/work-dir .\work /tsa-host <IP of the TSA> \ 
/tsa-public-key .\tsakey.pub \ 
/tsa-worker-private-key .\workerkey 

모든 것이 잘 우리가 비슷한 출력이 나타납니다가는 경우

~/ $ fly -t ci workers 
name   containers platform tags team 
2a334e70-c75c 3   linux  none none 
WORKERSHOSTNAME 0   windows none none 

테스트 것들 :

{"timestamp":"1478361158.394949198","source":"tsa","message":"tsa.connection.forward-worker.register.done","log_level":1 
,"data":{"remote":"<IP:SOURCE-PORT of the TSA>","session":"3.1.4","worker-address":"<IP:PORT of this worker>","worker-platform":"windows", 
"worker-tags":""}} 

과 같은 중앙 홀 CLI를 통해 목록에 나타납니다 새로운 노동자 Out

경로에 빌드 도구가있는 .NET Framework가 Worker에 있다고 가정하면 ould는 간단한 .NET 콘솔 앱 프로젝트 인 https://github.com/chrisumbel/DatDotNet.git을 빌드하여이를 테스트합니다.빌드 작업에

resources: 
    - name: code 
    type: git 
    source: 
     uri: https://github.com/chrisumbel/DatDotNet.git 
     branch: master 
jobs: 
    - name: build 
    plan: 
    - aggregate: 
     - get: code 
     trigger: true 
    - task: compile 
     privileged: true 
     file: code/Pipeline/compile.yml 

: 빌드 작업에 지정된 플랫폼 "창"이라고

platform: windows  
inputs: 
    - name: code 
run: 
    dir: code 
    path: msbuild 

는 파이프 라인을 고려하십시오. 그것은 창 작업자에게 작업을 배치하기 위해 콩 코스를 지시합니다. 만약 당신이이 일을 할 수있는 방법을 찾았나요

~/ $ fly -t ci trigger-job -j datdotnet/build --watch 
started datdotnet/build #8 

using version of resource found in cache 
initializing 
running msbuild 
Microsoft (R) Build Engine version 4.6.1085.0 
[Microsoft .NET Framework, version 4.0.30319.42000] 
Copyright (C) Microsoft Corporation. All rights reserved. 

Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch. 
Build started 11/5/2016 4:04:00 PM. 
... 
nces, or take a dependency on references with a processor architecture that matches the targeted processor architecture of your project. [C:\concourse\work\containers\00000arl2se\tmp\build\36d0981b\code\DatDotNet\DatDotNet.csproj] 

    3 Warning(s) 
    0 Error(s) 

Time Elapsed 00:00:00.22 
succeeded 
+1

@TobySpeight, 고쳐 주셔서 감사합니다! – celebi

+0

이렇게하면 작업자의 컨테이너가 아닌 작업자에서 빌드가 수행됩니다. –

관련 문제