You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bigtop.apache.org by Evans Ye <ev...@apache.org> on 2020/04/26 11:57:31 UTC

[DISCUSS] Next Generation Bigtop CI Infra

Hi folks,

I've been thinking about the revamp of bigtop's CI infra.
Currently what we have is purely a Jenkins cluster with manual managed:
1. hardware/machine resource
2. build env: docker, docker compose are all manual installed
3. job definition: all jobs are manual created and the definition is not
tracked w/ version control system.

I think for 2,3 there're some tools/solutions that can better manage and
automate the things. So that user can just take the code and build their CI
directly.

At Yahoo! there's a tool called screwdriver[1] which is a framework to do
CICD, however I don't think it fits our scenario well as we're not facing
production CD. Probably Jenkins 2.0 is more suitable? Anyone has experience
and suggestions?

[1] https://screwdriver.cd/

Evans

Re: [DISCUSS] Next Generation Bigtop CI Infra

Posted by Jun HE <ju...@apache.org>.
Thanks for starting this conversation on CI evolvement, Evans.
Yes, our CI is pretty manual managed with few automatic and version
controlled. That did bring me "special" experience during v1.3 release, ;)

For #1, as we need folks from Linaro and ppc to help the maintenance, the
manual management may not be easy changed.
For #2 and #3, these two things can be resolved with code
(scripts/makefiles/...) and pipeline job as Olaf mentioned, and they can be
hosted as a part of Bigtop, which user can easily duplicate our ci
environment. We have exprience to do smiliar things in Jenkins.
For the docker deployment stuff, it has various limitations. But to move
Bigtop to a container based world, I think it still worths considering.

Just my opinion. :)

One mroe question is: does anyone have experience on Github Actions as CI?
It looks interesting as it can link with your own node with github's CI
flow.

Olaf Flebbe <of...@oflebbe.de> 于2020年4月27日周一 上午1:35写道:

> Hi,
>
> have some limited experience with Jenkins2 aka Pipeline. IMO this resolves
> 3) quite nicely.
>
> Regarding 2) imo our deployment with docker compose is dead-end. Docker is
> simply not designed to support whole machine scenarios white systemd as a
> init process and predictive networking. while lxc seems to be more
> suitable, I think we should not hardcode a toy/test environment with lxc.
> Would propose Terraform here, that ideally should enable our users to use
> other infra as well.
>
> Regarding 1) If we have Terraform for 2) we can even manage our own build
> infra with that (minus the ppc64le and arm64 slaves).
>
> What do you think?
>
> Olaf
>
>
> Von meinem iPad gesendet
>
> > Am 26.04.2020 um 13:58 schrieb Evans Ye <ev...@apache.org>:
> >
> > Hi folks,
> >
> > I've been thinking about the revamp of bigtop's CI infra.
> > Currently what we have is purely a Jenkins cluster with manual managed:
> > 1. hardware/machine resource
> > 2. build env: docker, docker compose are all manual installed
> > 3. job definition: all jobs are manual created and the definition is not
> > tracked w/ version control system.
> >
> > I think for 2,3 there're some tools/solutions that can better manage and
> > automate the things. So that user can just take the code and build their
> CI
> > directly.
> >
> > At Yahoo! there's a tool called screwdriver[1] which is a framework to do
> > CICD, however I don't think it fits our scenario well as we're not facing
> > production CD. Probably Jenkins 2.0 is more suitable? Anyone has
> experience
> > and suggestions?
> >
> > [1] https://screwdriver.cd/
> >
> > Evans
>

Re: [DISCUSS] Next Generation Bigtop CI Infra

Posted by Olaf Flebbe <of...@oflebbe.de>.
Hi, 

have some limited experience with Jenkins2 aka Pipeline. IMO this resolves 3) quite nicely.

Regarding 2) imo our deployment with docker compose is dead-end. Docker is simply not designed to support whole machine scenarios white systemd as a init process and predictive networking. while lxc seems to be more suitable, I think we should not hardcode a toy/test environment with lxc. Would propose Terraform here, that ideally should enable our users to use other infra as well.

Regarding 1) If we have Terraform for 2) we can even manage our own build infra with that (minus the ppc64le and arm64 slaves).

What do you think?

Olaf


Von meinem iPad gesendet

> Am 26.04.2020 um 13:58 schrieb Evans Ye <ev...@apache.org>:
> 
> Hi folks,
> 
> I've been thinking about the revamp of bigtop's CI infra.
> Currently what we have is purely a Jenkins cluster with manual managed:
> 1. hardware/machine resource
> 2. build env: docker, docker compose are all manual installed
> 3. job definition: all jobs are manual created and the definition is not
> tracked w/ version control system.
> 
> I think for 2,3 there're some tools/solutions that can better manage and
> automate the things. So that user can just take the code and build their CI
> directly.
> 
> At Yahoo! there's a tool called screwdriver[1] which is a framework to do
> CICD, however I don't think it fits our scenario well as we're not facing
> production CD. Probably Jenkins 2.0 is more suitable? Anyone has experience
> and suggestions?
> 
> [1] https://screwdriver.cd/
> 
> Evans