简体   繁体   English

如何在Concourse构建中提交对git的更改?

[英]How to commit changes to git in Concourse build?

During Concourse build of Java application I want to: 在Java应用程序的Concourse构建期间,我想:

  1. Checkout git master branch 结帐git master分支
  2. Run mvn package 运行mvn package
  3. If it was successful: 如果成功:
    • increment the SNAPSHOT version in Maven's pom.xml 在Maven的pom.xml增加SNAPSHOT版本
    • commit it back to the master branch with [skip ci] commit message prefix 使用[skip ci] commit消息前缀将其提交回master分支
    • push local branch to the upstream 将本地分支推送到上游

I haven't found the recommended way of dealing with git except git-resource , which can only get or put resources, but not produce new commits. 我没有找到建议的处理git的方法,除了git-resource ,它只能getput资源,但不会产生新的提交。

You should make your commit inside of a task. 您应该在任务中进行提交。

You do that by making a task which has your repo as an input, and declares a modified repo as an output. 您可以通过创建将repo作为输入的任务来执行此操作,并将修改后的repo声明为输出。 After cloning from input to output, change into your output folder, make your changes and commit. 从输入克隆到输出后,切换到输出文件夹,进行更改并提交。

Here's an example pipeline.yml : 这是一个示例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}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM