Hello, >Before talk about Composer, some words about build.xml. Actually we are moving >from Phing to Ant for some reasons:> - Ant makes projects more pluggable >for IDEs, CI Servers... (less shell)> - Ant is recommended in >http://jenkins-php.org> - Ant is faster than Phing> - Ant parallel task >is stable, Phing task is not>What do you think about this? ATM I'm using Ant as it's easier for me - I use Java and Maven or Ivy+Ant for most of my projects. I only thought about Phing because I found its Eclipse plugin in the same update site of Composer plug-in [1]. > If possible, I would like to know more about your migration project and how > you are planning this. My current project is a website that uses Continuous Integration + Continuous Delivery with Ant + Rsync. We're adding applications (mobile apps, facebook, etc) and we'll need to add a few dependencies to this project. So far, the way we did this was by unzipping the PHP libraries to the CI application/libraries folder. What is not the more elegant solution, but works. Now we are working to create a REST API and add these libraries with Composer. One alternative is migrating from CI to FuelPHP, so we could drop TankAuth authentication library in favor of FuelPHP's bundled auth library, and use REST controllers provided by FuelPHP (no library needed for this too). One thing that I would like to see in this plug-in, is looking at my job and being able to spot all the dependencies (name/version) used in Composer. > It's my first contact with Jenkins CI Community. I don't know how plugins > > life cycle works neither how mature the idea must be to start coding. We > > have a laboratory sector to try some contexts as well. I have some Java > > skilled guys in my DevOps team, we can help when possible.>> Ready to go! > Just waiting your signal to start. I believe there is no plug-in for this, and a lot of PHP users would like to use it. If you create a GitHub repository to work on this plug-in, you can send me the link and I'll take a look to see if I can help you guys. Once the code is stable enough, we can ask here to fork the repository, create theWiki page + JIRA component for this new plug-in and prepare for the initial release. How does that sound to you? Cheers, [1] http://p2.dubture.com/ Bruno P. Kinoshita
http://kinoshita.eti.br http://tupilabs.com --- Em qui, 25/4/13, Renan de Lima <[email protected]> escreveu: De: Renan de Lima <[email protected]> Assunto: Re: What about a Composer plugin? Para: [email protected] Data: Quinta-feira, 25 de Abril de 2013, 9:03 Hi there, I'm migrating a few projects from CodeIgniter (+bunch of libraries and sparks) to FuelPHP and to CodeIgniter+Composer, and am having to learn Composer. > Is there any activity to integrate Composer and Jenkins?Not that I'm aware of.> Is there a better way to use Composer through Jenkins?In my todo-list, right next to Composer is Phing. I haven't had time to read all the docs about Composer, but I want to understand if you have to run composer or if you can call it in phing scripts. What do you think? Before talk about Composer, some words about build.xml. Actually we are moving from Phing to Ant for some reasons: - Ant makes projects more pluggable for IDEs, CI Servers... (less shell) - Ant is recommended in http://jenkins-php.org - Ant is faster than Phing - Ant parallel task is stable, Phing task is not What do you think about this? Getting back to Composer plugin... We are planning two kinds of job for every project: - build-job: for every project development line (trunk, branches...). This job executes quality checks as described in http://jenkins-php.org It also generates tags; - deploy-job: one per project, it sends files of a package version to the web servers. For build-job, Composer is necessary to get dependencies before to run Ant/Phing build.xml (http://getcomposer.org/doc/ 03-cli.md#install and http://getcomposer.org/doc/03- cli.md#update). Here is the reason of "Invoke Composer". Note: every project is plugged in a private repository (https://github.com/composer/ satis and https://github.com/composer/ packagist). So it's possible get projects from there by "require/require-dev" entry in a composer.json file or "create-project" command (http://getcomposer.org/doc/ 03-cli.md#create-project). For deploy-job, users must pick up a version to deploy. We need use "List Composer Package Versions" (http://getcomposer.org/doc/ 03-cli.md#show) to send version value as argument to create-project command using "Invoke Composer" before send it to the servers. In short I am willing to run Composer *before* Ant/Phing scripts in build-job, and *before* send files to the servers in deploy-job. If possible, I would like to know more about your migration project and how you are planning this. >Do you think that suggestions is useful for community?Definitely. I can help >writing the plug-in, and can test it while I migrate my projects. It's my first contact with Jenkins CI Community. I don't know how plugins life cycle works neither how mature the idea must be to start coding. We have a laboratory sector to try some contexts as well. I have some Java skilled guys in my DevOps team, we can help when possible. Ready to go! Just waiting your signal to start. Some links to take a look:https://github.com/composer/ composer/pull/1734 https://github.com/composer/ composer/issues/1490 Thanks!Bruno P. Kinoshita http://kinoshita.eti.br http://tupilabs.com--- Em qua, 24/4/13, Renan de Lima <[email protected]> escreveu:De: Renan de Lima <[email protected]> Assunto: What about a Composer plugin? Para: [email protected] Cc: [email protected] Data: Quarta-feira, 24 de Abril de 2013, 9:14Hello all,I use Jenkins at work for PHP projects. We are starting adopt Composer in our systems cycle life. Unfortunately I've not seen any integration between Composer and Jenkins CI.For my organization we need basically two features:1. Invoke Composer [build step]Arguments: - php path (optional, defaults to "/usr/bin/env php") - composer path (optional, defaults to "/usr/bin/env composer" or a built-in composer executable) - command (required... install/update/create-project/ validate... see https://getcomposer.org/doc/ 03-cli.md ) - options (free text to send to command line) 2. List Composer Package Versions [parameter] Arguments: - php path (optional, defaults to "/usr/bin/env php") - composer path (optional, defaults to "/usr/bin/env composer" or a built-in composer executable) - package name (required) - stability (some checkboxes that users can pick: dev, alpha, beta, RC and/or stable, see https://getcomposer.org/doc/ 04-schema.md#minimum-stability )So then...Is there any activity to integrate Composer and Jenkins? Is there a better way to use Composer through Jenkins? Do you think that suggestions is useful for community?thanks,Renan de Limajust a note, I don't know if it's necessary... Composer is a dependency manager for PHP http://getcomposer.org/ -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
