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] <javascript:>> 
> escreveu:
>
> De: Renan de Lima <[email protected] <javascript:>>
> Assunto: What about a Composer plugin?
> Para: [email protected] <javascript:>
> Cc: [email protected] <javascript:>
> Data: Quarta-feira, 24 de Abril de 2013, 9:14
>
> Hello 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 Lima
>
> just 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.


Reply via email to