8

Tôi cố gắng thiết lập máy chủ tạo thư viện (http://concourse-ci.org/) hỗ trợ nhiều ngôn ngữ/nền tảng nhất có thể.Concourse với Windows Containers

Tôi đã đọc phần bắt đầu với Windows Server 2016 sẽ có thể có Windows làm vùng chứa. Như concourse viết trên trang web của nó mà nhiều nền tảng được hỗ trợ (bao gồm cả Windows) Tôi tự hỏi, nếu điều này có nghĩa rằng nó có thể sử dụng Windows container?

Nếu không thể chạy các thùng chứa Windows, tôi có thể bằng cách nào đó làm cho phòng chờ quay lên máy ảo thay vì các thùng chứa không?

+0

Bạn đã bao giờ tìm thấy một cách để làm công việc này? Tôi hỏi và được thông báo rằng nó không được hỗ trợ. –

Trả lời

0

Về lý thuyết, có thể thực hiện điều này thông qua Garden-Windows, vì Concourse ủy nhiệm tất cả việc đưa vào API Garden.

Chưa bao giờ làm điều này trước đây, tôi không biết đầu mối nên bắt đầu từ đâu.

4

Thật không may, chỉ có một trang tôi có thể tìm thấy. Tôi cũng đã thử nó với các đường ống đơn giản hơn như thế giới hello, nhưng không thể làm cho nó hoạt động được. Chỉ cần chia sẻ có thể ai đó có thể hưởng lợi từ số it.

Tôi đã loại bỏ các phần như tạo khóa ssh, chuẩn bị TSA.

Chuẩn bị Windows Worker

Bây giờ chúng ta chuyển sự chú ý của chúng tôi để máy chủ Windows của chúng tôi rằng chúng tôi sẽ được chuyển vào một công nhân Concourse.

Đầu tiên chúng ta sẽ muốn thiết lập một thư mục để chứa mã nhị phân của chúng tôi cho các dịch vụ lao động và dữ liệu của nó tức là C: \ phòng chờ

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

Bây giờ tải về các phòng chờ nhị phân Windows (tên một cái gì đó như "concourse_windows_amd64.exe ") từ trang tải xuống của Concourse và đặt nó vào thư mục làm việc của chúng tôi. Ngoài ra, chúng tôi cũng sẽ muốn sao chép các tệp "tsakey.pub" và "workerkey" ở đó.

Thực tế là chúng tôi sẽ cung cấp nhị phân phòng chờ cục bộ của chúng tôi với "tsakey.pub" thiết lập rằng chúng tôi tin tưởng mật mã máy chủ TSA từ việc triển khai của chúng tôi.

Chúng tôi hiện đã sẵn sàng để bắt đầu công nhân và tự đăng ký với 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 

Nếu mọi việc suôn sẻ chúng ta sẽ thấy đầu ra tương tự như:

{"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":""}} 

và người lao động mới sẽ xuất hiện trong danh sách thông qua Concourse CLI như vậy:

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

Testing Things Out

Giả sử khung .NET có mặt trên Worker của chúng ta với các công cụ xây dựng trong đường dẫn chúng ta c hãy thử nghiệm điều này bằng cách xây dựng dự án ứng dụng .NET Console đơn giản này: https://github.com/chrisumbel/DatDotNet.git.

Hãy xem xét các đường ống dẫn:

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 

với việc xây dựng nhiệm vụ:

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

Lưu ý rằng nền tảng quy định trong xây dựng nhiệm vụ là "cửa sổ". Điều đó hướng dẫn phòng chờ để đặt nhiệm vụ trên một nhân viên Windows.

Nếu tất cả diễn ra tốt đẹp chúng ta sẽ thấy một xây dựng thành công với sản lượng tương tự như:

~/ $ 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 cảm ơn, đã khắc phục sự cố! – celebi

+0

Điều này sẽ gây ra việc xây dựng xảy ra trên công nhân không phải là vật chứa trên công nhân. –

Các vấn đề liên quan