首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >聚集git-resource;访问要在docker-image put上使用的Git标记

聚集git-resource;访问要在docker-image put上使用的Git标记
EN

Stack Overflow用户
提问于 2018-01-30 01:09:44
回答 2查看 2.8K关注 0票数 3

我正在使用带有tag_filter的https://github.com/concourse/git-resource来触发发布构建。我需要访问触发构建的标记的标记名,以便在构建过程中使用它,还需要使用它来标记docker图像资源put action。我该怎么做呢?

我可以运行git tag -l --points-at HEAD > tag来获取构建过程的标签,但是如何访问它来获取docker-image put的tag属性呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-04 02:46:41

tag parameter of the docker-image-resource被设置为获取包含标记名称的文件的路径。一种常见的模式是将其设置为tag: a-git-resource/.git/HEAD,以使用git标记生成的docker图像。

要获得一个特定的名称,中间步骤可能会起作用:

代码语言:javascript
复制
jobs:
  - name: build-docker-image
    plan:
      - get: a-git-resource
      - task: prep-for-build
        image: a-linux-of-your-choice-image
        config:
          platform: linux
          inputs:
            - name: a-git-resource
          run:
            path: sh
            args: |
              cd a-git-resource
              git tag -l --points-at HEAD > tag
      - put: docker-image-resource
        params:
          tag: a-git-resource/tag
          tag_as_latest: true
          build: a-git-resource
票数 6
EN

Stack Overflow用户

发布于 2020-08-11 17:52:15

phillbaker的解决方案在理论上是可行的,但它需要进行一些修改才能在当前(2020年8月)版本的Concourse上运行。这是我使用他的代码作为起点构建的管道中的一段代码:

代码语言:javascript
复制
resources:
- name: git-walangtext
  type: git
  source:
    uri: git@bitbucket.org:wall-art/walangtext.git
    branch: master
    private_key: |
      {{ bitbucket_walangtext_private_key }}

- name: walangtext-docker-image
  type: docker-image
  source:
    email: {{ email }}
    username: {{ username }}
    password: {{ secret_docker_hub_password }}
    repository: wallartnl/walangtext

jobs:
- name: walangtext
  serial: true
  plan:
  - get: git-walangtext
    trigger: true
  - task: generate-tag
    config:
      platform: linux
      image_resource:
        type: docker-image
        source:
          repository: concourse/git-resource
      inputs:
        - name: git-walangtext
      run:
        path: sh
        args:
        - -c
        - |
          cd git-walangtext
          git describe --tags --abbrev=0 > tag
      outputs:
        - name: git-walangtext
  - put: walangtext-docker-image
    params:
      build: git-walangtext/src/WALangtextSite
      dockerfile: git-walangtext/src/WALangtextSite/Docker/Dockerfile
      tag_file: git-walangtext/tag
      tag_as_latest: true

请注意,git-resource图像对于它执行的简单操作来说太大了,我仍然在寻找一个小得多的图像。

另一个注意事项是,我需要根据自己的情况调整git命令:我需要获取最后一个标记,而不是头上的标记。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48506510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档