8

Je tente d'installer un serveur de compilation (http://concourse-ci.org/) prenant en charge autant de langages/plates-formes que possible.Concourse avec des conteneurs Windows

J'ai lu qu'à partir de Windows Server 2016, il sera possible d'avoir Windows comme conteneurs. Comme concours écrit sur son site Web que plusieurs plates-formes sont prises en charge (y compris Windows), je me demande si cela signifie qu'il est possible d'utiliser des conteneurs Windows?

S'il n'est pas possible d'exécuter des conteneurs Windows, est-ce que je peux en quelque sorte faire tourner des machines virtuelles plutôt que des conteneurs?

+0

Avez-vous trouvé jamais un moyen de faire ce travail? J'ai demandé et on m'a dit que ce n'est pas supporté. –

Répondre

0

En théorie, il devrait être possible de le faire par Garden-Windows, puisque Concourse délègue tout conteneurisation à l'API Garden.

N'ayant jamais fait cela auparavant, je n'aurais aucune idée par où commencer.

4

Malheureusement, il y a juste une page que je suis capable de trouver. Je l'ai aussi essayé avec des pipelines plus simples comme Hello World, mais je n'ai pas réussi à le faire fonctionner. Juste le partage peut-être quelqu'un peut bénéficier de it.

J'ai omis des parties comme générer une clé ssh, préparer TSA.

Préparation Le travailleur de Windows

Maintenant, nous tournons notre attention sur notre serveur Windows que nous allons retourner dans à un travailleur Concourse.

D'abord, nous voudrons établir un répertoire pour héberger nos fichiers binaires pour le service des travailleurs et de ses données par exemple C: \ concourse

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

maintenant télécharger le binaire concours de Windows (appelé quelque chose comme « concourse_windows_amd64.exe ") depuis la page de téléchargement Concourse et placez-le dans notre répertoire de travail. Aussi, nous allons vouloir copier les fichiers "tsakey.pub" et "workerkey" là aussi. Le fait que nous fournissions notre binaire de concours local avec "tsakey.pub" établit que nous faisons confiance cryptographiquement au serveur TSA de notre déploiement.

Nous sommes maintenant prêts à démarrer l'agent et à l'enregistrer auprès de la 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 

Si tout va bien, nous devrions voir une sortie similaire à:

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

et le nouveau travailleur doit apparaître dans la liste via le CLI Concourse en tant que tel:

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

choses essai Out

En supposant que le framework .NET soit présent sur notre Worker avec les outils de construction du chemin d'accès ould tester cela en construisant ce simple projet d'application console .NET: https://github.com/chrisumbel/DatDotNet.git.

Tenir compte de la canalisation:

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 

la tâche de construction:

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

Notez que la plate-forme spécifiée dans la tâche de construction est "fenêtres". Cela demande au concours de placer la tâche sur un agent Windows.

Si tout va bien, nous devrions voir une construction réussie avec une production similaire à:

~/ $ 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 merci, l'a réparé! – celebi

+0

Cela provoquerait la génération sur le travailleur pas un conteneur sur le travailleur. –