簡體   English   中英

如何在Concourse構建中提交對git的更改?

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

在Java應用程序的Concourse構建期間,我想:

  1. 結帳git master分支
  2. 運行mvn package
  3. 如果成功:
    • 在Maven的pom.xml增加SNAPSHOT版本
    • 使用[skip ci] commit消息前綴將其提交回master分支
    • 將本地分支推送到上游

我沒有找到建議的處理git的方法,除了git-resource ,它只能getput資源,但不會產生新的提交。

您應該在任務中進行提交。

您可以通過創建將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}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM