2013-07-18 47 views
6

Tôi gặp một số khó khăn với Nhà xuất bản Jenkins Git cam kết và đẩy mã trở lại làm chủ sau khi xây dựng. Quá trình xây dựng của tôi tăng số phiên bản trong một trong các tệp của tôi và sau đó tôi muốn cam kết tệp này trở lại vào repo, nhưng tôi dường như không thể làm cho nó hoạt động.Jenkins Git Publisher: Làm thế nào để commit code trở lại master sau khi build?

Trong Source Code Management-> Git, đây là những thiết lập của tôi:

  • Repository Tên: Android
  • Chi nhánh Specifier: thạc sĩ
  • Checkout/hợp nhất để chi nhánh địa phương: thạc sĩ

Sau đó, trong Git Publisher, đây là các cài đặt của tôi:

  • Đẩy Chỉ Nếu xây dựng Thành Công: kiểm tra
  • Kết quả Merge: kiểm tra
  • Chi nhánh để đẩy: thạc sĩ
  • Target tên từ xa: Android
  • Ghi chú: Lưu ý để đẩy: Cập nhật phiên bản
  • Ghi chú: Mục tiêu từ xa tên: Android
  • Ghi chú: Ghi chú của namespace: thạc sĩ

Đây là sản phẩm từ Jenkins:

Pushing HEAD to branch master at repo Android 
Adding note to namespace "master": 
Updating version 

Xin vui lòng trợ giúp!

Trả lời

4

Tôi nghĩ rằng Jenkins git xuất bản Plugin không làm gì như

git add . 
git commit -m 'xxx' 

Plugin chỉ thực hiện đẩy và tùy chọn thêm lưu ý sử dụng git-notes.

xem ghi chú ở đây:

https://github.com/hamsterready/jenkins-git-publisher-test/tree/refs/notes/master

Để đạt được một cái gì đó như thế này: https://github.com/hamsterready/jenkins-git-publisher-test/commit/d80a1eef2133bee6d7a57b1b229ccd5990d2d606

Tôi đã thêm sau xây dựng bước (thực thi shell script) với:

git add . 
git commit -m 'Updating git.properties' 

Và sau đó kích hoạt hành động sau khi xây dựng nhà xuất bản git đã đẩy cam kết địa phương xuất xứ.

0

Tôi gặp phải vấn đề tương tự khi đẩy lùi các thay đổi về nguồn gốc bằng cách sử dụng plugin Git trên Jenkins. Phiên bản trình cắm thêm ứng dụng khách Git bạn đang sử dụng là gì? Phải có một lỗi trong trình cắm thêm trình khách git và do đó là hành vi.

Họ đã khắc phục vấn đề liên quan đến việc đẩy đôi khi trở lại. Tham khảo: https://issues.jenkins-ci.org/browse/JENKINS-17242. Và có vẻ như nó bị hỏng, vì có lỗi khác được gửi cho cùng một lần nữa: https://issues.jenkins-ci.org/browse/JENKINS-19442

Nếu bạn đọc thảo luận trong các url, đề xuất sửa lỗi nhanh là hạ cấp plugin ứng dụng khách Git xuống 1.0.5 và git plugin để 1.3.0. Hy vọng điều này làm việc cho bạn.

1

Nếu bạn đang sử dụng Gradle cho các bản dựng của mình, có Git plugin cho nó.

Dưới đây là hoàn tất các build.gradle:

buildscript { 
    repositories { mavenCentral() } 
    dependencies { classpath "org.ajoberstar:gradle-git:0.6.3" } 
} 
import org.ajoberstar.gradle.git.tasks.* 

task tag(type: GitTag) { 
    tagName = version 
    message = "Release of $version" 
} 

task pushWithTags(type: GitPush){ 
    credentials{ 
     username = "karim" 
     password = gitPassword 
    } 
    setPushTags(true) 
} 
task add(type: GitAdd){ 
    include("yourVersionFile.txt") 
    // or add everything with include("*") 
} 
task commit(type: GitCommit){ 
    setMessage(commitMsg) 
} 
task pushNewVersion(){ 
    tasks.add.execute() 
    tasks.commit.execute() 
    tasks.tag.execute() 
    tasks.pushWithTags.execute() 
} 

Đây là cách bạn thêm, thẻ, cam kết, và đẩy sử dụng các kịch bản (có một plugin để làm điều đó từ bên trong Jenkins):

gradle pushNewVersion "-PcommitMsg=hi" "-Pversion=0.1.1" "-PgitPassword=secret"