在 Java 应用程序的 Concourse 构建期间,我想:
- 结帐 git
master
分支 - 跑
mvn package
- 如果成功:
- 增加
SNAPSHOT
Maven 的版本pom.xml
- 使用提交消息前缀将其提交回
master
分支[skip ci]
- 将本地分支推送到上游
- 增加
除了git-resource之外,我还没有找到推荐的处理 git的方法,它只能get
或put
资源,但不能产生新的提交。
在 Java 应用程序的 Concourse 构建期间,我想:
master
分支mvn package
SNAPSHOT
Maven 的版本pom.xml
master
分支[skip ci]
除了git-resource之外,我还没有找到推荐的处理 git的方法,它只能get
或put
资源,但不能产生新的提交。
您应该在任务中进行提交。
您可以通过创建一个将您的 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}