Coder Social home page Coder Social logo

Comments (19)

ascandella avatar ascandella commented on September 3, 2024

Can you be more specific? Each build already links back to the differential

from phabricator-jenkins-plugin.

lavahot avatar lavahot commented on September 3, 2024

I think he wants links back to Diffusion-hosted repositories and their commits. There's a lot of browsers listed in the git plugin for this, I even wrote the AssemblaWeb browser. It's really easy, but if that's what he's really looking for it belongs in the git plugin, and not this one.

from phabricator-jenkins-plugin.

ascandella avatar ascandella commented on September 3, 2024

Sorry to be dense, I'm not super familiar... where would the link be?

from phabricator-jenkins-plugin.

lavahot avatar lavahot commented on September 3, 2024

Here you go: https://github.com/jenkinsci/git-plugin

from phabricator-jenkins-plugin.

lavahot avatar lavahot commented on September 3, 2024

The useful thing about that feature in that plugin is that you can look at diffs, file history, etc. without having to go to a project landing page from the host or whatever. Just click on the diff from the commit in the build and you're there.

from phabricator-jenkins-plugin.

ascandella avatar ascandella commented on September 3, 2024

I guess I'm just not totally clear on what the ask here is. Which pages should have these links, and where should they go to? You want a link to diffusion instead of differential? We can add that @ari

from phabricator-jenkins-plugin.

ari avatar ari commented on September 3, 2024

I should explain in more detail. Firstly, I'm using subversion for some of my repositories, and Jenkins has a page of the form /job/${projectname}/changes which shows a list of recent changes. This is very helpful, particularly when you want to dig into changes which broke a build.

screen shot 2015-06-10 at 9 56 58am

This is configured in the job from a list of possible repository browsers.

screen shot 2015-06-10 at 9 55 59am

I'd like Phabricator to be added to the list. Then all we need to know is the phabricator diffusion Callsign and we'll be able to construct the appropriate URL. Does that make sense now?

Can I also suggest that you add an introductory paragraph to the top of https://wiki.jenkins-ci.org/display/JENKINS/Phabricator+Plugin to explain what the goals of the plugin are. If I don't care about Uberalls, what does the plugin do for me?

Thanks for the work on tying together two great systems!

from phabricator-jenkins-plugin.

lavahot avatar lavahot commented on September 3, 2024

Yeah, @ari, that is something for the [https://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin](SVN plugin). All of those browser settings are a part of that plugin. This plugin is to use features of Phabricator, specifically Differential, with Jenkins. This will change your workflow to one degree or another and require the use of Arcanist, the Phabricator CLI. I recently set up a Phabricator instance for my project and I'm really excited about this workflow and Arcanist features. I think you should check it out. I don't use uberalls either. Since I'm accustomed to a more or less free-for-all workflow, it took me about two days to figure out what that workflow was and how it works with Jenkins with this plugin. I'm excited about it. It has some major advantages.

Unfortunately, this plugin seems to explicitly use Git, not SVN, so I don't think it's for you if you have your heart stuck on SVN. Although if you're good with Java I'm sure the maintainers would welcome a PR to fix that.

from phabricator-jenkins-plugin.

ascandella avatar ascandella commented on September 3, 2024

Thanks for the details!

To be clear, Phabricator itself is not a source-of-truth for source code. Diffusion provides a browsers into git and mercurial, but it is itself not a SCM. To me, it seems that you should point your job at the source-of-truth (e.g. the gitolite backend, or SVN in your case), rather than using Diffusion as a proxy for browsing your source.

The wiki page could definitely use some loving (I have very little free time), but it does explicitly call out that the current implementation supports only the Git backend -- I would of course welcome PRs to add support for more VCS's.

from phabricator-jenkins-plugin.

lavahot avatar lavahot commented on September 3, 2024

I'm sorry @sectioneight, you're wrong about hosting. I personally think hosting elsewhere is probably a good idea because Phabricator is under heavy development atm and GitHub is far more redundant.

from phabricator-jenkins-plugin.

ascandella avatar ascandella commented on September 3, 2024

Oh awesome! That certainly makes setting things up easier for developers. It still seems like the SVN/Git plugins should be pointed at Phabricator though, rather than this plugin providing some sort of browsing functionality.

from phabricator-jenkins-plugin.

lavahot avatar lavahot commented on September 3, 2024

You're absolutely correct about that. Let those plugins do what they do.

from phabricator-jenkins-plugin.

ari avatar ari commented on September 3, 2024

@sectioneight Sorry, but that doesn't make any sense to me. The only reason I installed Phabricator is to provide a source code browser for my company. Most of the other Phabricator features are not yet that useful for my particular workflow (or I've already got better alternatives with other tools).

@lavahot Thanks for that. I'll close this task and open one with the svn plugin team. I note that my git repositories include phabricator URLs.

I have to say I'm still confused about the workflow this plugin offers. It creates differential items from failed builds? I'll play with it more...

from phabricator-jenkins-plugin.

lavahot avatar lavahot commented on September 3, 2024

I think you're backwards on the workflow, @ari. Upon creation of a Differential, it builds that code and reports the results back to the differential, failed or not. It also adds differential links to associated builds in Jenkins. I think that's all it does. When the build is done and the diff is reviewed, you can arc commit to push to the repository. Here's a reasonably good tutorial for more on general Phabricator workflow.

from phabricator-jenkins-plugin.

ari avatar ari commented on September 3, 2024

Ah! I see. That makes more sense now. Probably not that useful for my needs since our workflow is based on committing to feature branches and performing reviews after code is already in a repository rather than sending around diffs. But I can see this might be useful for others.

Now, what I'd like is a way to create an "audit" in phabricator automatically when a build fails. That would be cool. If that's in scope of the goals of this plugin, I'll raise a new ticket.

from phabricator-jenkins-plugin.

lavahot avatar lavahot commented on September 3, 2024

That would be cool. I suspect that would be on the backburner as Phabricator's team has drank the "pre-push" kool-aid, and for good reason. I think they put Audit in there explicitly to allow people with the more conventional post-push workflows to use the software.

In your workflow, when would a build occur? On feature branch push? On audit approval? On merge? When would you lint/unit test?

from phabricator-jenkins-plugin.

ascandella avatar ascandella commented on September 3, 2024

Thanks for the thorough replies all! It's definitely become clear to me that I need to better define what this plugin is for. It's really specific to Differential, which it sounds like you're not using. I'll see if I can rename and/or improve the documentation to be clearer.

from phabricator-jenkins-plugin.

ari avatar ari commented on September 3, 2024

@lavahot I don't really understand the usefulness of "pre-push" concept. Why in 2015 are we creating diffs and sending them to people without using SCM tool? Isn't that why git and svn have branches? Isn't that why github developed pull requests? Perhaps I'm missing out on a fundamental important part of phabricator, but that's OK... I like the other bits :-)

I'll have a think about another plugin that might tie into an audit process, making it easier to see the diff which caused an error. But perhaps that should tie into my task tracking tool instead.

Thanks again everyone.

from phabricator-jenkins-plugin.

lavahot avatar lavahot commented on September 3, 2024

Well, while you can do exactly the established GitHub workflow with Phabricator, doing diffs allows more reporting, like linting, unit-testing, reviewer selection, etc. I like the added benifits, and I think it's only there as a necessity. You can still push to remote feature branches, but there's generally no reason to aside from backup. When you're ready to merge, you make a diff with your changes and it gets reviewed in an integrated way.

from phabricator-jenkins-plugin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.