[jboss-jira] [JBoss JIRA] (SWSQE-145) Modularize CI/CD Pipline
Guilherme Baufaker Rêgo (JIRA)
issues at jboss.org
Tue Apr 17 18:30:00 EDT 2018
[ https://issues.jboss.org/browse/SWSQE-145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13562684#comment-13562684 ]
Guilherme Baufaker Rêgo edited comment on SWSQE-145 at 4/17/18 6:29 PM:
------------------------------------------------------------------------
[~hhovsepy]
Following up on that Epic.
I've created a proposal picture (attached in the epic) for a make the pipeline more modular.
In my opinion, it will require some minor changes :
{panel:title=
Step 1 (SWSQE-164)}
- Use [Istio Ansible Jenkins Job|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Istio%20Ansible%20Pipeline/] as Istio Phase (Step 1)
- Refactor Jenkins Job to use Istio Master - now supporting both upstream and downstream images
- Remove Test Mesh and Traffic Generator from that pipeline
{panel}
{panel:title=
Step 2 (SWSQE-165)}
- Refactor [Istio and Kiali on Openshift |http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Istio-and-Kiali-on-Openshift/]Jenkins Job
- Refactor prepare.env in just two steps
* Create a Jenkins Job to build kiali (Make optional because I think sometimes we don't want to build Kiali) using part of Prepare Env
* Create a Jenkins Job to deploy Kiali based Mazz [Comment |https://github.com/kiali/kiali/pull/119#issuecomment-376519224]
{code:shell}
curl https://raw.githubusercontent.com/kiali/kiali/master/deploy/openshift/kiali-configmap.yaml \
| oc create -n istio-system -f -
curl https://raw.githubusercontent.com/kiali/kiali/master/deploy/openshift/kiali.yaml \
| IMAGE_NAME=kiali/kiali IMAGE_VERSION=latest NAMESPACE=istio-system VERBOSE_MODE=4 envsubst \
| oc create -n istio-system -f -
{code}
where IMAGE_NAME and IMAGE_VERSION could be changed to QE images (built on step 2.1.2) it can be deployed developers images by default
I don't know if the best configuration is two scripts (one for build or another to deploy) or just two functions on the same script but with optional parameters, so I'm leaving this one as you may you prefer to move this forward
{panel}
{panel:title=
Step 3 (SWSQE-166)}
- Refactor [Kiali-Test-Mesh|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Kiali-Test-Mesh/] Jenkins Job
- Refactor to deploy a subset of Test Meshes (It helps if you are using a small cluster and doesn't need all type of meshes)
- Make it optional on the pipeline
{panel}
{panel:title=
Step 4 (SWSQE-167)}
- Refactor [Bookinfo Traffic Generator|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Bookinfo-traffic-generator/] Jenkins Job
- Refactor to use bookinfo as a standard domain
- Make it optional on the pipeline
{panel}
{panel:title=
Step 5 (SWSQE-168)}
- Refactor [Bookinfo Traffic Generator|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Bookinfo-traffic-generator/] Jenkins Job
- Refactor to use bookinfo as a standard domain
- Make it optional on the pipeline
{panel}
Any thoughts about it?
Did I forget something?
was (Author: gbaufake):
[~hhovsepy]
Following up on that Epic.
I've created a proposal picture (attached in the epic) for a make the pipeline more modular.
In my opinion, it will require some minor changes on the pipeline.
{panel:title=
Step 1 (SWSQE-164)}
- Use [Istio Ansible Jenkins Job|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Istio%20Ansible%20Pipeline/] as Istio Phase (Step 1)
- Refactor Jenkins Job to use Istio Master - now supporting both upstream and downstream images
- Remove Test Mesh and Traffic Generator from that pipeline
{panel}
{panel:title=
Step 2 (SWSQE-165)}
- Refactor [Istio and Kiali on Openshift |http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Istio-and-Kiali-on-Openshift/]Jenkins Job
- Refactor prepare.env in just two steps
* Create a Jenkins Job to build kiali (Make optional because, I think sometimes we don't want to build Kiali) using part of Prepare Env
* Create a Jenkins Job to deploy Kiali based Mazz [Comment |https://github.com/kiali/kiali/pull/119#issuecomment-376519224]
{code:shell}
curl https://raw.githubusercontent.com/kiali/kiali/master/deploy/openshift/kiali-configmap.yaml \
| oc create -n istio-system -f -
curl https://raw.githubusercontent.com/kiali/kiali/master/deploy/openshift/kiali.yaml \
| IMAGE_NAME=kiali/kiali IMAGE_VERSION=latest NAMESPACE=istio-system VERBOSE_MODE=4 envsubst \
| oc create -n istio-system -f -
{code}
where IMAGE_NAME and IMAGE_VERSION could be changed to QE images (built on step 2.1.2) it can be deployed developers images by default
I don't know if the best configuration is two scripts (one for build or another to deploy) or just two functions on the same script but with optional parameters, so I'm leaving this one as you may you prefer to move this forward
{panel}
{panel:title=
Step 3 (SWSQE-166)}
- Refactor [Kiali-Test-Mesh|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Kiali-Test-Mesh/] Jenkins Job
- Refactor to deploy a subset of Test Meshes (It helps if you are using a small cluster and doesn't need all type of meshes)
- Make it optional on the pipeline
{panel}
{panel:title=
Step 4 (SWSQE-167)}
- Refactor [Bookinfo Traffic Generator|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Bookinfo-traffic-generator/] Jenkins Job
- Refactor to use bookinfo as standard domain
- Make it optional on the pipeline
{panel}
{panel:title=
Step 5 (SWSQE-168)}
- Refactor [Bookinfo Traffic Generator|http://jenkins2.bc.jonqe.lab.eng.bos.redhat.com:8080/job/Bookinfo-traffic-generator/] Jenkins Job
- Refactor to use bookinfo as standard domain
- Make it optional on the pipeline
{panel}
Any thougths about it?
Did I forget something?
> Modularize CI/CD Pipline
> ------------------------
>
> Key: SWSQE-145
> URL: https://issues.jboss.org/browse/SWSQE-145
> Project: Kiali QE
> Issue Type: Epic
> Reporter: Matt Mahoney
> Assignee: Guilherme Baufaker Rêgo
> Attachments: pipeline proposal.png
>
>
> The CI/CD pipeline has become more complex and challenging with which to build CI/CD usage-cases and to add new functionality:
> Use Case Examples:
> 1) Deploy Istio -> Deploy&build-kiali -> Deploy All Service Meshes -> Deploy Traffic Generator on all Service Meshes -> Run all test suites
> 2) Deploy built Kiali -> Run REST suite
> 3) Build and Deploy Kiali -> Run all test suites
> 4) Run UI suite on any Openshift Cluster
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the jboss-jira
mailing list