我有一条汇合管道:
groups: []
resources:
- name: source-code
type: git
resource_types: []
jobs:
- name: build
public: true
plan:
- get: source-code
- task: build
privileged: true
config:
platform: linux
image_resource:
type: docker-image
source:
repository: java
tag: openjdk-8-alpine
run:
path: sh
args:
- -exc
- |
set -e -u -x
MVN_VERSION=$(cat pom.xml | grep "^ <version>.*</version>$" | awk -F'[><]' '{print $3}')
**CUSTOM_VERSION = [POM_FILE_VERSION]-build.[NO_OF_COMMITS_IN_BRANCH]**
inputs:
- name: source-code使用Unix命令,我希望创建自定义版本:
CUSTOM_VERSION = [POM_FILE_VERSION]-build.[NO_OF_COMMITS_IN_BRANCH]对于POM_FILE_VERSION,,我找到了代码:
MVN_VERSION=$(cat pom.xml | grep "^ <version>.*</version>$" | awk -F'[><]' '{print $3}')但是对于NO_OF_COMMITS_IN_BRANCH,,我不知道如何从git资源中获取数据。有人能帮忙吗?
发布于 2018-09-19 12:42:37
Concourse资源没有提供分支中提交的数量。
我建议使用一些更有意义的内容,比如提交哈希,commit资源将其作为.git/short_ref文件使用。
如果您确实需要使用提交的数量(但是为什么?),那么您需要在Concourse任务中直接运行git命令,例如git rev-list --count HEAD。
在上面的管道中,任务是使用来自openjdk-8-alpine存储库的java Docker映像。如果该图像包含git,那么您就都设置好了。如果没有,我建议首先看看java存储库是否提供了安装了git的openjdk-8-alpine的变体。如果不是,您必须基于openjdk-8-alpine创建自己的Docker映像。
安全注意:您已经指定了privileged: true。也许你不需要它。
https://stackoverflow.com/questions/52401995
复制相似问题