如何在Concourse build中提交对git的更改?
在构建Java应用程序的过程中,我希望:如何在Concourse build中提交对git的更改?,git,concourse,Git,Concourse,在构建Java应用程序的过程中,我希望: 签出gitmasterbranch 运行mvn包 如果成功: 在Maven的pom.xml 使用[skip ci]提交消息前缀将其提交回主机分支 将本地分支推向上游 我还没有找到处理git的推荐方法,除了它只能获取或放置资源,但不能生成新的提交。您应该在任务内部进行提交 您可以通过创建一个任务来实现这一点,该任务将您的repo作为输入,并将修改后的repo声明为输出。从输入克隆到输出后,更改到输出文件夹,进行更改并提交 下面是一个示例pipeline
master
branchmvn包
- 在Maven的
pom.xml
- 使用
提交消息前缀将其提交回[skip ci]
分支主机
- 将本地分支推向上游
我还没有找到处理git的推荐方法,除了它只能
获取或放置资源,但不能生成新的提交。您应该在任务内部进行提交
您可以通过创建一个任务来实现这一点,该任务将您的repo作为输入,并将修改后的repo声明为输出。从输入克隆到输出后,更改到输出文件夹,进行更改并提交
下面是一个示例pipeline.yml
:
resources:
- name: some-repo
type: git
source:
uri: git@github.com:myorg/project
jobs:
- name: commit-and-push
plan:
- get: some-repo
- task: commit
config:
platform: linux
image_resource:
type: docker-image
source:
repository: concourse/buildroot
tag: git
inputs:
- name: some-repo
outputs:
- name: some-modified-repo
run:
path: /bin/bash
args:
- -c
- |
set -eux
git clone some-repo some-modified-repo
cd some-modified-repo
echo "new line" >> some-file.txt
git add .
git config --global user.name "YOUR NAME"
git config --global user.email "YOUR EMAIL ADDRESS"
git commit -m "Changed some-file.txt"
- put: some-repo
params: {repository: some-modified-repo}
你应该看看