小编Dwa*_*rde的帖子

大厅:如何将作业的输出传递给不同的作业

文档中我不清楚是否有可能将一个作业的输出传递给另一个作业(不是从任务到任务,而是从一个工作到另一个工作).

我不知道从概念上讲我是做正确的事情,也许它应该在Concourse中以不同的方式建模,但我想要实现的是将Java项目的管道分成几个细粒度的工作,这些工作可以并行执行,如果我需要重新运行一些工作,并独立触发.

我怎么看管道:

  1. 第一份工作:
    • 从github repo中提取代码
    • 用maven构建项目
    • 将工件部署到maven存储库(mvn deploy)
    • 更新SNAPSHOTMaven项目子模块的版本
    • 将工件(jar文件)复制到输出目录(outputtask)
  2. 第二份工作:
    • 捡起jar来的output
    • 为所有这些(并行)构建docker容器
  3. 管道继续

我无法将output作业1从作业2 传递到作业2.此外,我很好奇,如果我对原始git repo资源所引入的任何更改将出现在下一个作业中(从作业1到作业2).

所以问题是:

  1. 将构建状态从作业传递给作业的正确方法是什么(我知道,作业可能会安排在不同的节点上,并且肯定在不同的容器中)?
  2. 是否有必要将状态存储在资源中(例如,S3/git)?
  3. Concourse是否因设计无国籍(在此背景下)?
  4. 哪里是获取更多信息的最佳地点?我已经尝试了手册,它不是​​那么详细.

到目前为止我发现了什么:

  1. outputs不是从一个工作岗位传递给工作的
  2. 资源的任何更改(put到github repo)都会在下一个作业中获取,但工作副本中的更改不会

最小的例子(如果注释行没有注释错误,则会失败:) missing inputs: gist-upd, gist-out:

---
resources:
  - name: gist
    type: git
    source:
      uri: "git@bitbucket.org:snippets/foo/bar.git"
      branch: master
      private_key: {{private_git_key}}

jobs:
  - name: update
    plan:
      - get: gist
        trigger: true

      - task: update-gist
        config:
          platform: …
Run Code Online (Sandbox Code Playgroud)

concourse

12
推荐指数
1
解决办法
8440
查看次数

与Windows容器的大厅

我尝试设置一个支持尽可能多的语言/平台的大厅构建服务器(http://concourse-ci.org/).

我已经读过,从Windows Server 2016开始,可以将Windows作为容器.当concourse在其网站上写道支持多个平台(包括Windows)时,我想知道这是否意味着可以使用Windows容器?

如果无法运行Windows容器,我是否可以以某种方式使虚拟机而不是容器?

windows containers build-server windows-server-2016 concourse

9
推荐指数
2
解决办法
3013
查看次数

门户CI管道给出错误:-获取https://registry-1.docker.io/v2:net / http:等待连接时请求被取消

我在AWS上使用BOSH部署安装了Concourse CI

成功安装后,我可以在浏览器上看到Concourse CI。我已经使用Concourse CI官方页面创建了hello-world管道:-http: //concourse-ci.org/getting-started.html

但是,当我尝试为hello-world管道运行构建时,出现错误:-

Get https://registry-1.docker.io/v2: net/http: request canceled while waiting for connection
Run Code Online (Sandbox Code Playgroud)

请让我知道如何解决此问题。谢谢。我的CI管道代码:-

jobs:        
- name: hello-world     
  plan:      
  - task: say-hello    
    config:   
      platform: linux   
      image: "docker:///ubuntu"   
      run:  
        path: echo  
        args: ["Hello, world!"]  
Run Code Online (Sandbox Code Playgroud)

continuous-integration pivotaltracker amazon-web-services docker concourse

5
推荐指数
1
解决办法
4111
查看次数