Thanks for checking out the Labs CI / CD guides! We’re excited to hear and learn from you. Your experiences will benefit others who read and use these guides.
We’ve put together the following guidelines to help you figure out where you can best be helpful.
This project is used as a starting point for CI/CD tooling by the Red Hat Open Innovation Labs group. It incoporates many technologies and is intended for development on OpenShift Container Platform.
Interested in making a contribution? Read on!
Before we get started, here are a few things we expect from you (and that you should expect from others):
-
Be kind and thoughtful in your conversations around this project. We all come from different backgrounds and projects, which means we likely have different perspectives on "how open source is done". Try to listen to others rather than convince them that your way is correct.
-
There is a Contributor Code of Conduct. By participating in this project, you agree to abide by its terms.
-
If you open a pull request, please ensure that your contribution passes all tests. If there are test failures, you will need to address them before we can merge your contribution.
Local Development guide is still under construction…
The Labs CI / CD stack can be deployed to any OpenShift cluster, and is automated using OpenShift Applier. The following commands can be used to install Applier, log in to your OpenShift cluster, and deploy the pipeline.
ansible-galaxy install -r requirements.yml -p roles
oc login ...
ansible-playbook roles/openshift-applier/playbooks/openshift-cluster-seed.yml
This will result in the creation of several tools and environments across several projects:
-
labs-ci-cd
is where Jenkins, and other tools will be deployed to. -
labs-dev
will be used as the Development environment, where smoke tests can be run. -
labs-test
is a promotion environment
If you need to customize the deployment (e.g. for testing a Pull Request), the Applier inventory supports a number of parameters to customize the deployment. The following command is an example of configuring the pipeline to build from an alternative fork and branch. For other possible parameters, see all.yml.
If you’d like to contribute, start by searching through the GitHub issues and pull requests to see whether someone else has raised a similar idea or question.
If you don’t see your idea listed, and you think it fits into the goals of this guide, do one of the following: * If your contribution is minor, such as a typo fix, open a pull request. * If your contribution is major, such as a new article or category, start by opening an issue first. That way, other people can weigh in on the discussion before you do any work.
This repo is currently maintained by @springdo, @pcarney8, @mcanoy, and
@oybed, who have commit access. They will likely review your
contribution. If you haven’t heard from anyone in 10 days, feel free to
bump the thread or @-mention a maintainer or
@rht-labs/OpenInnovationLabs
to review your contribution.
Discussions about Labs CI / CD takes place within this repository’s Issues and Pull Requests sections.
Wherever possible, do not take these conversations to private channels, including contacting the maintainers directly. Keeping communication public means everybody can benefit and learn from the conversation.